在android片段活动中实现back按钮
我用这个教程来实现facebook登录等 我在这里添加了新的片段来显示好友列表。现在,当我按下新添加的片段上的后退按钮时,它会将我带到飞溅片段,我希望在动作栏上的后退按钮上有相同的行为。意思是当我在我的新片段上时,它会在动作栏上显示一个后退按钮。按下后退按钮,我又回到了初始屏幕在android片段活动中实现back按钮,android,android-fragments,android-actionbar,back-button,Android,Android Fragments,Android Actionbar,Back Button,我用这个教程来实现facebook登录等 我在这里添加了新的片段来显示好友列表。现在,当我按下新添加的片段上的后退按钮时,它会将我带到飞溅片段,我希望在动作栏上的后退按钮上有相同的行为。意思是当我在我的新片段上时,它会在动作栏上显示一个后退按钮。按下后退按钮,我又回到了初始屏幕 private void showFragment(int fragmentIndex, boolean addToBackStack) { FragmentManager fm = getSupportFra
private void showFragment(int fragmentIndex, boolean addToBackStack) {
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
for (int i = 0; i < fragments.length; i++) {
if (i == fragmentIndex) {
transaction.show(fragments[i]);
} else {
transaction.hide(fragments[i]);
}
}
if (addToBackStack) {
transaction.addToBackStack(null);
}
transaction.commit();
}
private void showFragment(int fragmentIndex,boolean addToBackStack){
FragmentManager fm=getSupportFragmentManager();
FragmentTransaction=fm.beginTransaction();
for(int i=0;i
我在努力搜索后在stackoverflow上获得了此代码,希望这对您有所帮助
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);// in on Create()
搜索代码onOptionsItemSelected(菜单项)
并以这种方式编辑它
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// change your behaviour here
Intent intent = new Intent(this, yourclass.class);// i started new activity here
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
您可以通过两种方式实现这一点: 1。在你的碎片里
@Override
public void onDetach()
{
super.onDetach();
PUT YOUR CODE HERE
}
这将在片段完成时调用
2。在片段之间转换时,只需添加addToBackStack
,如下所示:
fragmentManager.beginTransaction().replace(R.id.content_frame,fragment).addToBackStack("tag").commit();
如果您编写addToBackStack(null),它将自行处理,但如果您提供一个标记,则应手动处理
编辑:
用于进行交易
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
Fragment scheduleFragment = new ScheduleFragment();
fragmentTransaction.replace(R.id.content_container, scheduleFragment, "scheduleFragment");
fragmentTransaction.addToBackStack("scheduleFragment");
fragmentTransaction.commit();
@Yawar actionbar仅在“活动”中,这将添加到“活动”中,每次按actionbar主页按钮-->
可能重复的锯,已经,但没有回答被选为答案,所以混乱没有你弄错了,我想得到同样的行为按下后退按钮的行动栏。我在安卓上按下后退按钮。这是活动,我想要它的片段。我还添加了一张图片。在我的问题中抱歉,但我看不到图片,它们被我们计算机中的管理员阻止。我发现这个示例对您的案例很有用,我使用第二种方法:)先生,我用一个函数代码片段编辑了我的问题,我正在使用该代码片段高效地从一个片段转换到另一个片段。我想要的是在片段4的顶部添加一个后退按钮,将我带回片段3。我的应用程序已经在操作栏上添加了后退按钮。意思是当按下碎片4上android设备的后退按钮时,我会进入碎片3。我想在片段4的顶部也有一个按钮来为我做同样的事情。然后在按钮点击上做一个交易。我不知道如何在操作栏上添加后退按钮。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// app icon in action bar clicked; goto parent activity.
this.finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}