Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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
Android 消除航海疑虑_Android - Fatal编程技术网

Android 消除航海疑虑

Android 消除航海疑虑,android,Android,我在我的应用程序中实现了,在屏幕上显示信息“向上导航”。但是,当我在操作栏上单击带有箭头的图标时,它并不是一种返回效果,就像我单击返回箭头Smarthphone本身一样,而是一种好像我开始了一项新活动的效果。我想知道是否有人能帮我解决这个疑问 我的代码: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case andro

我在我的应用程序中实现了,在屏幕上显示信息“向上导航”。但是,当我在操作栏上单击带有箭头的图标时,它并不是一种返回效果,就像我单击返回箭头Smarthphone本身一样,而是一种好像我开始了一项新活动的效果。我想知道是否有人能帮我解决这个疑问

我的代码:

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
          case android.R.id.home:
              // é aqui que você volta para a activity ou fragment anterior
              Intent parentActivityIntent = new Intent(this, MainActivity.class);
              // Remove todas as outras activitys que estão na pilha
              parentActivityIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
              startActivity(parentActivityIntent);
              finish();
              break;

      }
      return super.onOptionsItemSelected(item);
  }

此按钮的操作可以在

 onOptionItemSelected()
你可以找到它的id为android.R.id.home

你可以采取的行动

       if(item.getItemId()==android.R.id.home)
     {
          //Your action
      }

在新任务中,您正在开始一个新的意图,这就是为什么系统动画与按“后退”时不同的原因

您已经正确设置了home(主页)按钮,因为当您按下up(向上)按钮时,会在
OnOptions ItemSelected
中收到
android.R.id.home
事件

您应该在清单中添加
android:parentActivityName
属性(API 16+请参阅下面的开发人员文档链接以了解向后兼容性)

这会将您当前的活动与父级关联。您还需要使用类来执行正确的onClick操作,以
navigateUpFromSameTask(this)
,其中
this
是您当前的活动

明确了如何正确实施up;如果遵循规定的模式,将免费提供返回过渡效果



另外,在代码中,您应该
返回true
,而不是
break
(因为您不在循环中,所以这不会起任何作用)。返回
true
表示您已经处理了事件,
onOptionsItemSelected

您是如何实现它的?通常,对于“向上”导航,您需要在清单中指定父活动。我的疑问是不能实现。这是当我点击向上导航,回到以前的活动,好像他已经开始了一个新的。我想知道,当您返回系统时,淡入的效果如何处理转换,这取决于您的实现方式。请编辑您的问题,以包含显示如何实现的代码。准备好了!我编辑了代码,可能是这样实现的。如果以编程方式设置操作,OP会遇到问题的是
//您的操作
位。好的,可能是我无法理解这一点。我如何实现以获得返回效果?