【问题标题】:How to display back button on action bar in android another activity如何在android另一个活动的操作栏上显示后退按钮
【发布时间】:2020-10-20 16:56:32
【问题描述】:

当我从主要活动中移动另一个活动时,我希望在操作栏上需要返回按钮。请帮助我现在该怎么做。

我是android开发的新手,请详细说明一下。

谢谢。

【问题讨论】:

标签: android android-actionbar


【解决方案1】:

只需在[CurrentActivity].java 文件的onCreate 方法中添加代码即可。

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 替换为您在按下返回按钮后要发送给用户的活动

【讨论】:

  • 很好,它的显示!但它无法正常工作。当我单击后退图标时,没有任何反应。我需要点击后退图标时,我将支持我以前的活动。请帮帮我。
  • 这是主要活动。当按下按钮去新的活动。 button = (Button) findViewById(R.id.login); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(MainActivity.this, NewActivity.class); startActivity(myIntent); } });
【解决方案2】:

你可以这样做。在您的 AndroidManifest.xml 文件中,您可以告诉您的活动,他的父活动是什么。这里MainActivity是SecondActivity的父Activity。 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"/>

【讨论】:

    【解决方案3】:

    在操作栏上显示 Android 系统后退按钮.. 如果您使用的是androidx 库,那么最好使用

    supportActionBar 而不是 Kotlin 中的 actionBar

    显示和处理 Android 系统返回按钮的完整代码:

    supportActionBar?.apply {
                setDisplayHomeAsUpEnabled(true)
                title = "SET YOUR ACTIVITY TITLE"
            }
    

    单击系统后退箭头按钮时如何关闭 Activity:

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
            when(item.itemId){
                android.R.id.home -> finish()
            }
            return super.onOptionsItemSelected(item)
        }
    

    【讨论】:

      【解决方案4】:

      您可以通过在 Android Manifest 文件中提及父 Activity 来启用 Activity 栏中的后退按钮。例如,我必须在我的项目中的 AddNotes 活动的活动栏中启用后退按钮栏。当用户单击时,它应该将用户重定向到主活动,因此在 Android 清单文件中,我将这样的父活动设置为 AddNotes 活动。

      <activity android:name=".AddNotes" android:parentActivityName=".MainActivity"></activity>
      

      它将在添加笔记活动的活动栏中启用后退按钮。

      或者,如果您也可以像这样在活动栏中启用后退按钮,

      val actionbar = supportActionBar
      actionbar!!.title = "Add Note"
      actionbar.setDisplayHomeAsUpEnabled(true)
      actionbar.setDisplayHomeAsUpEnabled(true)
      

      (此代码为 Kotlin 代码)

      更多知识请参考: https://developer.android.com/training/appbar/up-action

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多