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;
}
このメソッドは、「Fragment」から継承し、レイアウトの 1 つをロードするクラスにあり、これと同じタイプの 4 つのクラス (タブごとに 1 つ) があります。
メソッド「findViewById」で失敗するのですが、そこに出せない場合はどこに出したらいいですか?
どうもありがとうございました。
例を続けると、新しい問題が発生しました。ビューの 1 つは、次のように画像を含む 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 型ですが、そうではないことです。コンテキスト、何が失敗したか、どうすれば修正できますか?
前もって感謝します。