android – FragmentTransaction .attach和.detach for Actionbar选项卡

android – FragmentTransaction .attach和.detach for Actionbar选项卡,第1张

概述我试图让代码 here工作.它编译好它会运行.它将加载选项卡1(共3个).但是,当我点击第2或第3个选项卡时,我得到: java.lang.NoSuchMethodError: android.app.FragmentTransaction.detach 这发生在这里的代码中 public void onTabUnselected(Tab tab, FragmentTransaction ft) 我试图让代码 here工作.它编译好它会运行.它将加载选项卡1(共3个).但是,当我点击第2或第3个选项卡时,我得到:

java.lang.NoSuchMethodError: androID.app.FragmentTransaction.detach

这发生在这里的代码中

public voID onTabUnselected(Tab tab,FragmentTransaction ft) {    if (mFragment != null) {        //ft.detach(mFragment); //requires API Level 13        ft.remove(mFragment); //this does not do the same thing as detach    }}

我发现detach只能用于API Level 13.我尝试了remove,但是它显然不会做同样的事情.有没有人有任何想法如何克服这个基于第一个link的代码?

编辑:
我猜这也是attach那样也是在代码中,但在应用程序崩溃之前没有被击中.

解决方法 看起来替换引用附加和分离的代码中的几个位置加上和删除将允许代码在预处理API级别13环境中正常运行.
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()) {            FragmentTransaction ft = mActivity.getFragmentManager().beginTransaction();            //ft.detach(mFragment);            ft.remove(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);        //} else {        //    ft.attach(mFragment);        //}    }    public voID onTabUnselected(Tab tab,FragmentTransaction ft) {        if (mFragment != null) {            //ft.detach(mFragment); //requires API 13            ft.remove(mFragment); //this does not do the same thing as detach        }    }
总结

以上是内存溢出为你收集整理的android – FragmentTransaction .attach和.detach for Actionbar选项卡全部内容,希望文章能够帮你解决android – FragmentTransaction .attach和.detach for Actionbar选项卡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1132816.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存