0

我一直在寻找一个多月,我无法在任何地方解决这个问题。每当我点击后退按钮时,我的应用程序就会关闭。我已经搜索过finish()我已经覆盖了onBackPressed(),我似乎无法解决这个问题。

public class Toasty extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_toasty);

    Button button = (Button) findViewById(R.id.button1);

    button.setOnClickListener(new OnClickListener() {

          public void onClick(View arg0) {
             Toast.makeText(getApplicationContext(),
                     "Here's your toast!", Toast.LENGTH_LONG).show();
             setContentView(R.layout.activity_show_toast);
          }
    });
  }
}

这几乎就是我所做的一切。它会在下一个屏幕上弹出一个文本视图,然后弹出一个 Toast。然后我按下后退按钮,当我想要做的只是重置时应用程序退出,以便可以再次按下按钮。

4

1 回答 1

3

“不返回以前的视图”

这是因为当您按下后退按钮时,它不会离开视图,而是离开 Activity。

因此,如果您有一个 Activity,无论您更改视图多少次,它都会退出应用程序。

要更改行为:

A. 用你的第二个视图创建一个新的 Activity 并通过一个 Intent 去它

  Intent i = new Intent(this, ActivityTwo.class);
  startActivity(intent); 

注意:ActivityTwo 将是一个包含 R.layout.activity_toasty 作为其视图的活动

B. 覆盖后退按钮,如下所示

@Override
public void onBackPressed(){
     if(currentViewIsShowToast){
         setContentView(R.layout.activity_toasty);
         //Change activity to previous view
     }
     else 
         super.onBackPressed();
}
于 2012-12-08T03:23:04.177 回答