Java MainActivity操作栏中的后退按钮

Java MainActivity操作栏中的后退按钮,java,android,button,back,Java,Android,Button,Back,除了main活动,我已经为所有活动实现了一个后退按钮。 我的问题是,main活动中也有一个后退按钮 希望我已经导入了正确的类: import android.support.v4.app.NavUtils; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity

除了
main活动
,我已经为所有活动实现了一个后退按钮。 我的问题是,
main活动中也有一个后退按钮

希望我已经导入了正确的类:

    import android.support.v4.app.NavUtils;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getActionBar().setDisplayHomeAsUpEnabled(true);
        [...]
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
        case R.id.ueber:
            startActivity(new Intent(this, menu_main_Activity.class));
            return true;
    }
    return super.onOptionsItemSelected(item);
}
AndroidManifest:

<application
    android:allowBackup="true"
    android:icon="@mipmap/levox"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name=".ListViewActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".ListTasksActivity"
        android:label="@string/projekte"
        android:parentActivityName=".ListViewActivity">
        </activity>
    <activity android:name=".ListSingleTaskActivity"
        android:label="@string/tasks"
        android:parentActivityName=".ListTasksActivity">
    </activity>
    <activity android:name=".menu_main_Activity"/>
</application>

为什么我在
MainActivity
上也有一个后退按钮?

第一个问题是: “后退按钮”是什么意思

  • 你是说每个安卓设备左下角的按钮吗?你不能禁用那个。但实际上,它在Android世界中被称为“后退按钮”。有时它甚至是硬件的一部分
  • 您是指应用程序左上角的应用程序图标旁边的一个向左箭头所示的按钮吗?在Android世界中,该按钮被称为“向上按钮”。 由于代码中的这一行,此项显示在MainActivity中:

    getActionBar().setDisplayHomeAsUpEnabled(true);
    
    在方法中

    protected void onCreate(Bundle savedInstanceState)
    
    所以你应该去掉这条线。 要禁用按钮的外观,还要禁用按钮的功能,您必须查看这部分代码:

     switch (item.getItemId()) {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    case R.id.ueber:
        startActivity(new Intent(this, menu_main_Activity.class));
        return true;
    }
    
    在这里,您必须删除该部分

    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    
编辑: 但是,如果您确实希望在活动中看到“向上按钮”,您可以

  • 必须设置代码

    getActionBar().setDisplayHomeAsUpEnabled(true);
    
    在该活动的onCreate()方法中

  • 在Manifest.xml中提供父活动(您正在执行的操作),例如:

    android:parentActivityName=".ListViewActivity"
    
  • 把这个角色

    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    
    进入应该有“向上按钮”的活动

如果您的意思是其他,请指定您的问题并提供更多代码:)

一些有用的链接:

  • 要了解有关实现“向上按钮”的更多信息,请阅读
  • 要了解更多关于Android中“Up”和“Back”的区别,请阅读

更改此设置DisplayHomeAsupEnabled(false),而不是使用应用程序图标退出应用程序(无论您想使用什么),或使用getSupportActionBar()设置另一个图标。设置HomeAsupIndicator(R.drawable.ic_菜单);很简单谢谢你。。。你能告诉我,如果我在其他活动中单击“后退”按钮,为什么我的应用程序会崩溃吗?谢谢你,但我找不到getSupportActionBar(),很抱歉getSupportActionBar使用getActionBar,并发布你的有问题的代码,无论你使用什么来预览活动或添加日志我的其他活动都不包含任何后退按钮的代码。。。只是主要的活动。。。我需要为其他活动的后退按钮添加一些代码吗?我同意,谢谢,这个解决方案对我很有效。有时候,为了节省时间,深夜你会忘记从其他课堂上抄来的东西。英雄联盟