我已经实现了一个带有 4 个选项卡的 FragmentPagerAdapter,并且我为每个选项卡关联了一个片段。问题是我无法与它们包含的元素交互,我尝试了以下方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.fragment1, container, false);
// Some codes for layout such as findViewById
ImageView img = (ImageView)findViewById(R.id.image);
img.setOnClickListener(new ImageView.OnClickListener() {
public void onClick(View v) {
Log.i("Fragment", "This is a test");
}
});
return view;
}
此方法位于从“片段”继承的类中,并加载其中一个布局,有 4 个与此相同类型的类,每个选项卡一个。
方法“findViewById”失败,但如果我不能把它放在那里,我应该把它放在哪里?
非常感谢。
继续这个例子,我发现了一个新问题。其中一个视图加载带有图像的 GridView,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.init, container, false);
final GridView grid = (GridView)view.findViewById(R.id.myGrid);
grid.setNumColumns(2);
grid.setAdapter(new ImageAdapter(this));
return view;
}
问题是方法'new ImageAdapter(context)'接收变量类型Context作为参数加载到方法'newImageView(context)'它需要这种类型的变量并且传递'this'变量是Fragment类型但不是上下文,由于什么失败,我该如何解决?
提前致谢。