Android软件后退按钮未返回上一个视图

时间:2012-12-08 02:12:31

标签: android

我已经找了一个多月了,我无法在任何地方解决这个问题。每当我点击后退按钮,我的应用程序就会关闭。我搜索了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弹出窗口。然后我按下后退按钮,当我想要做的全部重置时,应用程序退出,以便再次按下该按钮。

1 个答案:

答案 0 :(得分:3)

“不返回上一个视图”

这是因为当您按下后退按钮时它不会离开视图,它会留下一个活动。

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

要改变行为:

一个。使用第二个视图创建一个新活动,然后通过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();
}