私は最初の Android アプリに取り組んでいるので、これが簡単な質問である場合はご容赦ください。アプリには現在 5 つのタブ (フラグメントを使用して作成) があり、現在、最初のタブに ListFragment を設定しようとしています。
私の MainActivity クラスには、次のコードがあります。
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
if (tab.getPosition() == 0) {
TopRatedListFragment topRatedListFragment = new TopRatedListFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.container, topRatedListFragment).commit();
} else {
Fragment fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, tab.getPosition() + 1);
fragment.setArguments(args);
getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();
}
これで、「DummySectionFragment」で問題なく動作します。しかし、私の TopRatedListFragment は Fragment だけでなく ListFragment を拡張するため、上記のコードで問題が発生しています。
この線:
getSupportFragmentManager().beginTransaction().replace(R.id.container, topRatedListFragment).commit();
エラーを描画し、.replace メソッドが topRatedListedFragment 引数を好まないと言っているのは、それが ListFragment であり、通常の Fragment ではないためです。
これを修正するにはどうすればよいですか?
ありがとう!