java - MainActivity 的 ActionBar 中的后退按钮

标签 java android button back

我已经为除 MainActivity 之外的所有 Activity 实现了后退按钮。 我的问题是我在 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);
}

安卓 list :

<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 世界中被称为“后退按钮”。有时它甚至是硬件的一部分!
  • 您是指在您的应用程序左上角的应用程序图标旁边用指向左侧的小箭头显示的按钮吗?该按钮在 Android 世界中称为“Up-Button”。 由于代码中的这一行,此代码显示在您的 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;
    

编辑: 但是,如果您确实希望“向上按钮”在 Activity 中可见,您

  • 必须设置代码

    getActionBar().setDisplayHomeAsUpEnabled(true);
    

    在该 Activity 的 onCreate() 方法中!

  • 在您的 Manifest.xml 中提供父 Activity (您已经在做的事情),例如:

    android:parentActivityName=".ListViewActivity"
    
  • 然后放上零件

    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    

    进入应该有“向上按钮”的 Activity 。

如果您还有其他意思,请说明您的问题并提供更多代码:)

一些有用的链接:

关于java - MainActivity 的 ActionBar 中的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30731968/

相关文章:

java - Mixins 与 Strategies Java

Java split(),使用包含特定字符的整个单词作为分隔符

Logcat 中的 Android-ndk 输出无法识别

java - 使用时间戳作为主键时避免违反主键约束

android - 真正简单的TCP客户端

android - Spring Basic OAuth抛出错误的请求异常

html - Firefox 中的按钮错误,但 Chrome 中没有

javascript - Chrome 扩展程序弹出窗口不起作用,点击事件未处理

cocoa-touch - iOS:按钮的非方形点击区域

java - 无法让小程序读取文本文件