MainActivity中ActionBar中的后退按钮

kor*_*nos 7 java android button back

我为所有活动实现了一个后退按钮,除了MainActivity.我的问题是我也有一个后退按钮MainActivity.

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

    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);
}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

为什么我也得到一个后退按钮MainActivity

the*_*omA 7

第一个问题是:"后退按钮"是什么意思?

  • 你的意思是左下角每个Android设备中的按钮?你无法禁用那个.但实际上它在Android-universe中被称为" Back-Button ".有时它甚至是硬件的一部分!
  • 你的意思是指向左边的小箭头所示的按钮,就在应用程序左上角的应用程序图标旁边?该按钮在Android-universe中称为" 向上按钮 ".由于您的代码中包含以下行,因此您的MainActivity中会显示此内容:

    getActionBar().setDisplayHomeAsUpEnabled(true);
    
    Run Code Online (Sandbox Code Playgroud)

    在方法中

    protected void onCreate(Bundle savedInstanceState)
    
    Run Code Online (Sandbox Code Playgroud)

    所以你应该拿走这一行.要禁用按钮的外观以及它的功能,您必须查看代码的这一部分:

     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;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    在这里,你必须删除该部分

    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    
    Run Code Online (Sandbox Code Playgroud)

编辑:但如果你真的想让一个活动中的"向上按钮"可见,你

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

一些有用的链接: