我的应用程序目前正在使用Fragments/v4兼容包来支持Android版本,一直到1.6.这意味着我的所有Fragment都继承自兼容包的版本Fragment.我目前正在尝试重做部分应用程序以利用Honeycomb功能,例如ActionBar.
我已经在3.0之前的设备上使用了我自己的动作栏实现,否则就使用了Honeycomb Action Bar.这个位不是问题.
我遇到的问题是尝试使用ActionBar实现标签.ActionBar.TabListener期望本机Fragment和FragmentTransaction类工作 - 所以尝试使用我的Fragment类(继承自兼容性库)不会编译.
因此,没有任何人有任何想法如何,我可以用使用的兼容包版本碎片Fragment与ActionBar标签?
tldr:如何将ActionBar选项卡与从v4兼容性库继承的片段一起使用?
我正在尝试实现Tab Navigation,但我想确保拥有旧版Android的人仍然可以使用我的应用程序.
应用程序考虑到ATM非常简单,我只是想了解如何实现布局,然后我将添加缺少的位.
无论如何,我有一个扩展Fragment Activity的Container Activity (以确保兼容性),而这个Activity使用ActionBar创建一个TabView (我相信我的问题就在这里).该应用程序将尝试创建三个选项卡并将其添加到ActionBar,我想确保用户可以使用横向导航来回滚动.
这是TabListener我试图实现:
public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
private Fragment mFragment;
private final Activity mActivity;
private final String mTag;
private final Class<T> mClass;
public TabListener(Activity activity, String tag, Class<T> clz) {
mActivity = activity;
mTag = tag;
mClass = clz;
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
} …Run Code Online (Sandbox Code Playgroud)