没有调用finish()或onBackPressed()的后退按钮

时间:2015-09-25 15:58:23

标签: java android button activity-finish onbackpressed

我想创建一个按钮以返回上一个活动, 但如果我在“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已经存在于库中。

1 个答案:

答案 0 :(得分:0)

如果相同的活动总是从当前活动开始,只需硬编码......

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
        }
    });