我有一个带有 a 的 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-support-v4.jar 库,因为我只针对 Android 4 设备)
我怎么解决这个问题?有任何想法吗?