相关疑难解决方法(0)

使用v4 Fragments API实现ActionBar选项卡

我的应用程序目前正在使用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兼容性库继承的片段一起使用?

tabs android android-3.0-honeycomb android-actionbar

23
推荐指数
1
解决办法
1万
查看次数

使用支持库实现TabListener

我正在尝试实现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)

android android-fragments android-support-library

20
推荐指数
3
解决办法
2万
查看次数