android-通过按“后退”按钮返回片段

android-通过按“后退”按钮返回片段,第1张

概述我想通过按“后退按钮返回到另一个片段.我已经读过,addToBackStack(字符串标记)应该有所帮助,但实际上并没有起作用.这是切换片段时的 *** 作.FragmentTransactionft=getSupportFragmentManager().beginTransaction();ft.setCustomAnimations(R.anim.slide_in_left,R.anim.s

我想通过按“后退”按钮返回到另一个片段.我已经读过,addToBackStack(字符串标记)应该有所帮助,但实际上并没有起作用.

这是切换片段时的 *** 作.

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();ft.setCustomAnimations(R.anim.slIDe_in_left, R.anim.slIDe_out_right);ft.replace(R.ID.content_frame, new MainFragment());ft.addToBackStack("Mainfragment");ft.commit();

因此,现在打开“片段”,并启动一个AsyncTask,其中出现一个加载圆圈.加载后,将显示数据.现在,当我按一下“后退”按钮一次时,该片段返回到AsyncTask的开始处,在该处创建了加载圆圈.但是AsyncTask不会继续.当我再次按返回按钮时,该应用程序将关闭.

我试图添加onBackpressed,但它只是告诉我,这在Fragment中不起作用.去这里最好的方法是什么?

编辑以澄清:
没有错只是不起作用.就像我什至没有addToBackStack这一行–

解决方法:

之前我遇到过同样的情况,最终得到了这个解决方案.添加或替换Fragment时,需要使用唯一名称将其添加到backStack.然后,当按下后退按钮时,您可以在创建Fragment的FragmentActivity中使用下面的方法查看哪个片段是活动片段.

private String getCurrentFragmentname() {    int backStackEntryCount = getSupportFragmentManager().getBackStackEntryCount();    String fragmentname;    if (backStackEntryCount > 0) {        fragmentname = getSupportFragmentManager().getBackStackEntryAt(backStackEntryCount - 1).getname();    } else {        fragmentname = "";    }    return fragmentname;}

并在onKeyDown()方法中执行以下 *** 作.

    if (keyCode == KeyEvent.KEYCODE_BACK && getCurrentFragmentname().equals("your fragment name")) {        // Handle back press for this case.        return true;    } else if (keyCode == KeyEvent.KEYCODE_BACK            && getCurrentFragmentname().equals("your another fragment")) {        // Handle back press for another Fragment        return true;    } else {        return super.onKeyDown(keyCode, event);    }

这就是我使用backStack添加Fragment的地方

transaction.addToBackStack("Your Fragment name");
总结

以上是内存溢出为你收集整理的android-通过按“后退”按钮返回片段全部内容,希望文章能够帮你解决android-通过按“后退”按钮返回片段所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存