如何在android另一个活动的动作栏上显示后退按钮

时间:2018-04-28 07:59:34

标签: android android-actionbar

当我从主要活动中移动另一个活动时,我想要在操作栏上需要后退按钮。请帮帮我,我现在该怎么办。

我是Android开发的新手,请解释一些细节。

谢谢。

4 个答案:

答案 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