如何在android中添加backbutton
我在这里制作了一个聊天应用程序,我有很多片段,但我只使用了一个活动。在我的应用程序导航抽屉中也有,所以我的问题是我从第一个片段到第二个片段,在第二个片段中,我使用actionbar homeupenabled显示backbutton,但当我按下backbutton时,OnOptions MenuSelected没有执行任何操作。当我通过drawerindicator false进入第二个片段时,我正在删除drawer toggle。我已尝试了所有方法,请帮助我 代码: 你可以用如何在android中添加backbutton,android,android-actionbar,fragment,Android,Android Actionbar,Fragment,我在这里制作了一个聊天应用程序,我有很多片段,但我只使用了一个活动。在我的应用程序导航抽屉中也有,所以我的问题是我从第一个片段到第二个片段,在第二个片段中,我使用actionbar homeupenabled显示backbutton,但当我按下backbutton时,OnOptions MenuSelected没有执行任何操作。当我通过drawerindicator false进入第二个片段时,我正在删除drawer toggle。我已尝试了所有方法,请帮助我 代码: 你可以用 getActiv
getActivity().onBackPressed()
对于相同的活动,您只能在同一时间做同一件事
1)Open drawer event or
2)Back Button
因为其他的都是碎片
若你们想在反压事件中做一些事情,那个么你们可以使用重写方法
public void onBackPressed()
在你的活动中当你创建第二个片段时,你是否将其从第一个片段中放置到后台?我遇到的正是你描述的问题。在阅读您的代码时,我意识到我在第二个片段中没有对选择的选项项进行覆盖,但在第二个片段中已经调用了设置选项菜单(true)和设置显示HomeAsupEnabled(true)。因此,只要我将
onOptionsItemSelected
包括在内。我能够回到第一个片段。我甚至只是把你的家庭案例代码粘贴到我的第二个片段中,在第一个片段中得到了“有效”的祝酒词
我唯一的另一个区别是,我没有在CreateView上包含一个覆盖公共视图的@
。但原因不同。因此,我的SetHasOptions菜单(true)
和setDisplayHomeAsUpEnabled(true)
在创建的活动中被调用,我的第一个片段是活动在创建时在其容器中膨胀的主片段
从第一个片段调用第二个片段,就像在onlistItemClick中那样
Bundle args = new Bundle();
args.putSerializable("SELECTED_TAG", dataList);
SecondFragment toFragment = new SecondFragment();
toFragment.setArguments(args);
//show more about the exercise
//TODO:start an indent to launch new activity
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.setCustomAnimations(R.anim.slidein, R.anim.slideout);
transaction.addToBackStack(null).replace(R.id.container, toFragment, SECOND_FRAGMENT_TAG)
.commit();
然后,第二个片段在ONOPTIONEMSELECTED中“返回”,与您的操作完全相同我在活动中按下片段时没有收到吐司我通过设置FALSE移除抽屉指示器我可以查看您的活动类吗?
Bundle args = new Bundle();
args.putSerializable("SELECTED_TAG", dataList);
SecondFragment toFragment = new SecondFragment();
toFragment.setArguments(args);
//show more about the exercise
//TODO:start an indent to launch new activity
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.setCustomAnimations(R.anim.slidein, R.anim.slideout);
transaction.addToBackStack(null).replace(R.id.container, toFragment, SECOND_FRAGMENT_TAG)
.commit();