导航栏中的后退按钮不起作用?

时间:2014-04-29 10:30:24

标签: android

我创建了一个带有几个活动的android项目。 我还在活动中添加了后退按钮功能,但是当我点击它时 没有任何反应。

我做错了吗? 我已将此代码放入每个活动中,但它们都不起作用

非常感谢任何意见/建议。

尝试从我的Gallery活动返回主要代码:

 //GalleryActivity.java

 public boolean onCreateOptionsMenu(Menu menu) {
     // return true;

      MenuInflater mif = getMenuInflater();
      mif.inflate(R.menu.main, menu);
      return super.onCreateOptionsMenu(menu);
  }
res / menu /

中的

和..

 <item
    android:id="@+id/back_icon"
    android:icon="@drawable/ic_action_back"
    android:title="@string/back_title"
    android:showAsAction="always"
    />

我下载了正确的Android设计图标,并将它们添加到可绘制文件夹中。

编辑:

主要活动

    button4= (Button) findViewById(R.id.button4);//find the button

    button4.setOnClickListener(new View.OnClickListener() {

         @Override
         public void onClick(View v) {
             Intent i = new Intent(v.getContext(), GalleryActivity.class);
             startActivity(i);
             finish();//close main activity after start info activity
             }
         });// links to gallery page    

2 个答案:

答案 0 :(得分:0)

您必须覆盖onOptionsItemSelected并检查ID。例如:

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.back_icon:
                finish();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }

答案 1 :(得分:0)

您必须指定选项的操作,包括主页/后退操作,如下所示:

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) 
    {

        case R.id.back_icon:
            onBackPressed(); //Or whatever you want to do when back_icon is pressed!
            return true;

        default:
            return super.onOptionsItemSelected(item);

    }

}