当我从主要活动中移动另一个活动时,我想要在操作栏上需要后退按钮。请帮帮我,我现在该怎么办。
我是Android开发的新手,请解释一些细节。
谢谢。
答案 0 :(得分:1)
只需在onCreate
文件的[CurrentActivity].java
方法中添加代码即可。
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
这行代码只会在Action Bar
中添加一个后退按钮,但现在点击它后不会发生任何事情。
并在[CurrentActivity].java
中添加此内容,这将添加该按钮的工作:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(CurrentActivity.this, MainActivity.class);
startActivity(intent);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
将CurrentActivity
替换为您的活动名称,并在按下后退按钮后将MainActivity
替换为您要发送给用户的活动
答案 1 :(得分:1)
你可以这样做。在 AndroidManifest.xml 文件中,您可以告诉您的活动他的父活动是什么。这里MainActivity是SecondActivity的父活动。 SecondActivity将具有后退按钮,按下该按钮将使用户进入MainActivity。
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity"
android:parentActivityName=".MainActivity"/>
答案 2 :(得分:0)
在操作栏上显示Android系统后退按钮。
如果您使用的是androidx
库,那么最好使用
supportActionBar
,而不是科特林的actionBar
用于显示和处理Android系统后退按钮的完整代码:
supportActionBar?.apply {
setDisplayHomeAsUpEnabled(true)
title = "SET YOUR ACTIVITY TITLE"
}
单击系统后退箭头按钮时如何关闭活动:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId){
android.R.id.home -> finish()
}
return super.onOptionsItemSelected(item)
}
答案 3 :(得分:0)
您可以通过在Android Manifest文件中提及父级活动来启用“活动”栏中的“后退”按钮。例如,我必须在项目的AddNotes活动的活动栏中启用后退按钮栏。当用户单击时,应将用户重定向到主要活动,因此在Android清单文件中,我将这样的父活动设置为AddNotes活动。
<activity android:name=".AddNotes" android:parentActivityName=".MainActivity"></activity>
它将在“添加笔记”活动的活动栏中启用“后退”按钮。
或者,如果您也可以在活动栏中启用后退按钮,
val actionbar = supportActionBar
actionbar!!.title = "Add Note"
actionbar.setDisplayHomeAsUpEnabled(true)
actionbar.setDisplayHomeAsUpEnabled(true)
(此代码为科特林代码)
有关更多知识,请参阅: https://developer.android.com/training/appbar/up-action