Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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_Android Actionbar - Fatal编程技术网

Android 单击操作栏中的返回箭头时无法返回

Android 单击操作栏中的返回箭头时无法返回,android,android-actionbar,Android,Android Actionbar,单击操作栏中的返回箭头时无法返回。甚至该方法都未调用。我的类扩展了AppCompative活动。 任何人都可以帮我解决这个问题。后退按钮的正确项目ID是android.R.ID.home,一旦您将R.ID.home更改为android.R.ID.home,代码应该按预期工作。您确定创建了后退按钮的菜单。。因为如果没有,那就是它不起作用的原因。。可能是您创建了Imagebutton或Imageview返回请尝试一下这些代码` public boolean onOptionsItemSelecte

单击操作栏中的返回箭头时无法返回。甚至该方法都未调用。我的类扩展了AppCompative活动。
任何人都可以帮我解决这个问题。

后退按钮的正确项目ID是
android.R.ID.home
,一旦您将
R.ID.home
更改为
android.R.ID.home
,代码应该按预期工作。

您确定创建了后退按钮的菜单。。因为如果没有,那就是它不起作用的原因。。可能是您创建了Imagebutton或Imageview返回

请尝试一下这些代码`

 public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
            case R.id.home:
                onBackPressed();
                Log.d("on","back pressed");
                return true;
           }
        return super.onOptionsItemSelected(item);
    }

`

从启用“后退”按钮开始,如果您正在使用AppCompatActivity,请不要使用,如果您正在使用AppCompatActivity,请使用:

 @Override
public boolean onSupportNavigateUp() {
    finish();
   return true;
}

@Override
public void onBackPressed() {
    finish();
}
收听android.R.id.home上的点击事件,如您使用R.id.home时所见,替换如下:

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
     setSupportActionBar(toolbar);
     getSupportActionBar().setDisplayHomeAsUpEnabled(true);
     getSupportActionBar().setDisplayShowHomeEnabled(true);

尝试使用android.R.id.home而不是R.id.home
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
     setSupportActionBar(toolbar);
     getSupportActionBar().setDisplayHomeAsUpEnabled(true);
     getSupportActionBar().setDisplayShowHomeEnabled(true);
          @Override
          public boolean onOptionsItemSelected(MenuItem menuItem) {
          if (menuItem.getItemId() == android.R.id.home) {
          // if your previous activity is present in stack(Means Not finished) then prefer finish();
          finish();
          //Or You can use same method you mention
           onBackPressed();
           }
          return super.onOptionsItemSelected(menuItem);
          }