我已经为除 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 。
如果您还有其他意思,请说明您的问题并提供更多代码:)
一些有用的链接:
- 要了解有关实现“向上按钮”的更多信息,请阅读 Providing Up Navigation
- 要详细了解 Android 中“向上”和“返回”之间的区别,请阅读 Navigation with Back and Up
关于java - MainActivity 的 ActionBar 中的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30731968/