我正在尝试创建一个选项卡,该选项卡在左侧片段上显示列表,在右侧显示详细片段。当用户单击列表项时,右侧片段应更改为适当的片段。
我是 android 新手,所以我使用了一个教程,我知道我需要对 tablistener 做一些事情:
公共静态类 TabListener 实现 ActionBar.TabListener
{
私人最终活动 mActivity;
私有最终字符串 mTag;
私有最终类 mClass;
私有最终捆绑 mArgs;
私有片段 mFragment;
public TabListener(Activity activity, String tag, Class<T> clz) {
this(activity, tag, clz, null);
}
public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) {
mActivity = activity;
mTag = tag;
mClass = clz;
mArgs = args;
// Check to see if we already have a fragment for this tab, probably
// from a previously saved state. If so, deactivate it, because our
// initial state is that a tab isn't shown.
mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
ft = mActivity.getFragmentManager().beginTransaction();
ft.detach(mFragment);
ft.commit();
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
tabtag = mTag;
}
else {
ft.attach(mFragment);
}
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
if (mFragment != null) {
ft.detach(mFragment);
}
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
//Toast.makeText(mActivity, "Reselected!", Toast.LENGTH_SHORT).show();
}
}
我需要的另一个很好的例子是 Gmail 应用程序,左侧是列表,右侧是详细信息,并将操作栏(我的有标签)保持在顶部。
我知道此侦听器会为单击的每个选项卡膨胀一个片段,但是如何为其中包含两个片段的布局膨胀?