【问题标题】:back button without calling finish() or onBackPressed()不调用 finish() 或 onBackPressed() 的后退按钮
【发布时间】:2015-09-25 15:58:22
【问题描述】:

我想创建一个按钮来返回上一个活动, 但如果我在“onclick”事件中使用“finish()”或“onBackPressed()”方法,每次按下按钮时都会收到来自系统的消息 “不幸的是,活动已经停止”。是否有另一种方法来引入后退按钮,而不显示诸如此类的消息,这可能会被视为来自用户的消息错误?

这是我的按钮 xml:

<Button
    android:layout_width="wrap_content"
    android:layout_weight=".2"
    android:layout_height="wrap_content"
    android:text="back"
    android:id="@+id/back"
    android:onClick="onBackPressed"
    />

不需要更多代码,因为库中已经存在 onBackPressed。

【问题讨论】:

  • 请发布您的代码和堆栈跟踪

标签: java android button activity-finish onbackpressed


【解决方案1】:

如果相同的活动总是启动您当前的活动,只需对其进行硬编码...

Intent myIntent = new Intent(CurrentActivity.this, PreviousActivity.class);
CurrentActivity.this.startActivity(myIntent);

否则你可以在你的意图中传递额外的东西让你知道,然后制作一个条件方法来启动正确的方法。我也会在你的 java 文件中编写你所有的按钮代码,但我猜这更像是个人喜好。

//global declaration
Button GameButton;

//onCreate
GameButton = (Button)findViewById(R.id.GameButton);
GameButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //your code
        }
    });

【讨论】:

  • 那你发现你错过了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
相关资源
最近更新 更多