this answerを使用して、フラグメント内にインジケータを含むViewPagerを使用しようとしました。like so (ちょっとモックアップ)。
フラグメントを変更するナビゲーションスピナーがあります。各 "ページ"にはListViewが含まれます。フラグメント内のViewPagerIndicator:アダプタ付きNullPointer
だから基本的に私が探しています:
SherlockFragmentActivity - > SherlockFragment - > ViewPager - > ListViewの
しかし、私は試してみて、私は答えに見たものを実装したときに、私はfindViewById(とエラーが出ます)。
正しい「コンテキスト」が得られていないためだと思います。ここで
は私の断片です:
public class HomeViewFragment extends SherlockFragment {
private ViewPager mPager;
private HomePagerAdapter mAdapter;
private TitlePageIndicator mIndicator;
private Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getSherlockActivity().getApplicationContext();
mAdapter = new HomePagerAdapter(context);
mPager = (ViewPager)context.findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator = (TitlePageIndicator)context.findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
}
findViewByIdがフラグメント内のメソッドではありませんあなたは再びあなたが与えられた状況で、それを必要とし、具体的理由
getApplicationContext()
を使用しないことを解決しますしかし、私はそこで何をすべきですか? 私のアダプターには、フラグメントではなくコンテキストが渡されている必要があります。 – osxoep@osxoep:申し訳ありませんが、十分に注意を払っていませんでした。私は自分の答えを編集しました。 – CommonsWare
ありがとう、それは私のコードを構築するが、今私は別のエラーがあります。私は今夜今何しているのか分かっています:) – osxoep