を使用した Android アプリケーションがあり、MainActivity
これを実行して にナビゲーション タブを作成しますonCreate
。
ActionBar myActionBar = getActionBar();
myActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab = myActionBar.newTab().setText("FirstTab").setIcon(R.drawable.first_tab)
.setTabListener(new TabListener<FirstTabFragment>(this, "FirstTab",
FirstTabFragment.class));
... more tabs ...
、TabListener
私は developer.android.com からこれを使用します:
http://developer.android.com/reference/android/app/ActionBar.html#newTab() :
public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
...
public TabListener(Activity activity, String tag, Class<T> clz) { ... }
}
したがって、ユーザーが最初のタブをクリックすると、フラグメントFirstTabFragment
が呼び出されて実行 されonCreateView
ます。
私の問題は、ユーザーがボタンをクリックした場合、次のことを行い、次のフラグメントに切り替える方法がわからないことです。
private OnClickListener firstTabListener = new OnClickListener() {
@Override
public void onClick(View v) {
if (v == button1) {
Intent intent = new Intent(???, MyDetailsFragment.class);
startActivity(intent);
} else if (...) {
...
}
}
};
選択したアイテムのMyDetailsFragment
詳細を表示する必要があるため (ボタン クリック)、詳細フラグメントにドリルダウンし、新しいフラグメントに追加データを提供して、詳細フラグメントが選択したアイテムのどの詳細を表示する必要があるかを認識できるようにします。選択したタブは変更されず、戻るボタンは FirstTabFragment ページに戻る必要があります。
新しいフラグメントを開始する必要があると思いますが、それは不可能です。メソッドの名前は、フラグメントではstartActivity
なく新しいアクティビティを開始することを示しています。それで、私は を使用しMainActivity
てそこに新しいフラグメントを入れなければなりませんか? (Android 4 デバイスのみを対象としているため、android-support-v4.jar ライブラリは使用しません)
どうすればこの問題を解決できますか? 何か案は?