Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 操作栏、导航抽屉和碎片后台管理_Java_Android_Android Fragments_Fragment - Fatal编程技术网

Java 操作栏、导航抽屉和碎片后台管理

Java 操作栏、导航抽屉和碎片后台管理,java,android,android-fragments,fragment,Java,Android,Android Fragments,Fragment,我正在我的应用程序中实现以下教程: 我的目标是实现以下行为: 使用一个活动 2个片段:始终附加片段A。单击按钮时会附加FragmentB 当FragmentB可见时,操作栏home按钮是一个后退箭头,用于从后退中删除FragmentB 当片段B不可见时,操作栏按钮home按钮显示抽屉布局 如何实现home按钮的转换 谢谢ActionBar类中有一些方法可以帮助您: 以下通话将主页按钮图标设置为“后退”图标 因为MenuItem的操作是由onOptions ItemSelected()方法定义

我正在我的应用程序中实现以下教程:

我的目标是实现以下行为:

  • 使用一个活动
  • 2个片段:始终附加片段A。单击按钮时会附加FragmentB
  • 当FragmentB可见时,操作栏home按钮是一个后退箭头,用于从后退中删除FragmentB
  • 当片段B不可见时,操作栏按钮home按钮显示抽屉布局
如何实现home按钮的转换


谢谢

ActionBar类中有一些方法可以帮助您:

以下通话将主页按钮图标设置为“后退”图标

因为MenuItem的操作是由onOptions ItemSelected()方法定义的,所以您也必须重写它,并检查是否单击home按钮。实际上,导航抽屉将再次绘制,因此您需要从该方法返回true,以防止抽屉再次绘制

@Override
public boolean onOptionsItemSelected(MenuItem item) {
     if (item.getId() == android.R.id.home) {
          // do what you want here
          return true; // prevent the drawer to draw again;
     }
     return super.onOptionsItemSelected(item);
}
要将“主页”按钮返回其默认“行为”,请使用以下调用:

getActionBar().setDisplayShowHomeEnabled(true);
最后一步是检查当前片段是FragmentA(它将激活抽屉绘制导航片段)还是FragmentB(它不会)。您可能需要添加一个全局布尔变量来执行这些操作,并检查导航项的位置

我在这里提供了一个示例,请查看:

希望这有帮助

getActionBar().setDisplayShowHomeEnabled(true);