Android:如何模拟后退按钮

时间:2011-08-01 11:31:52

标签: android back simulate

目前,我的活动允许用户填写某些数据。包括微调器等。当用户点击下一个系统导航到另一个屏幕时。当我按下手机上的后退按钮时,前一个活动已加载并且已填充数据可用。

我的要求要求我在UI中提供一个柔和的“后退”按钮。当用户点击它时,它会导航回到上一个屏幕,但填充的数据不可用。

有没有办法在软UI按钮onclick事件上模拟后退按钮?

Intent back = new Intent(ImagePreviewActivity.this, sendingpage.class);
startActivity(back);

提前感谢您的时间。

5 个答案:

答案 0 :(得分:14)

当用户点击软后退按钮时,您只需调用Activity finish()方法。

编辑:只需让您的Activity实施OnClickListener,然后再使用代码

          myBackButton.setOnClickListener(this);
   ....

   public void onClick(View v) {
       if(v.getId()==R.id.YourBackButton){
           finish();
       }
   }

EDIT2 :您也可以从onBackPressed()致电Activity

答案 1 :(得分:3)

如果您使用“活动”来显示不同的屏幕,那么只需按一下按钮点击一些结果即可完成活动,您可以将一些“活动结果”值传回,然后可以在之前活动的onActivityResult中处理。

添加一些伪代码。假设你有两个Activty A和B,那么你来自A - > B然后从B - >;甲

活动A中的

 startActivityforResult(new Intent(A.this, B.class), 1234);

 onActivityResult(......) {
    if (1234 == requestCode) {
        switch (resultCode) {
             /* Do your processing here like clear up old values and so on */
        }
    }
 }
活动B中的

onClick() {

  if (v == backBtn) {
           Intent resultIntent = new Intent();
    setResult(Activity.RESULT_OK, resultIntent);
    finish();
 }
}

答案 2 :(得分:1)

如前所述,只需完成您的活动:

myButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        finish();
    }
});

答案 3 :(得分:1)

这篇文章的所有解决方案都太复杂了。最简单的是这篇文章:

Android - Simulate Back Button

这是该帖子的最后一个解决方案:

this.onBackPressed();

OR

getActivity()onBackPressed();

依赖于你所在的地方。

答案 4 :(得分:-1)

在软件后退按钮onClick事件写入

Intent _intent = new Intent(PresentActivity.this,PreviousActivity.class);
startActivity(_intent);