6

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

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

有什么方法可以模拟软 UI 按钮 onclick 事件上的后退按钮?

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

在此先感谢您的时间。

4

5 回答 5

15

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

编辑:让你的Activity实现OnClickListener,然后在代码中

          myBackButton.setOnClickListener(this);
   ....

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

EDIT2:您也可以onBackPressed()从您的Activity.

于 2011-08-01T11:36:39.497 回答
3

如果您使用活动来显示不同的屏幕,那么只需基于单击按钮以一些结果完成活动,您可以将一些活动结果值传回,然后可以在上一个活动的 onActivityResult 中处理。

添加一些伪代码。假设你有两个 Activty A 和 B 并且你从 A -> B 然后从 B -> A

在活动 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();
 }
}
于 2011-08-01T11:36:16.030 回答
1

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

myButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        finish();
    }
});
于 2011-08-01T11:51:03.760 回答
1

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

Android - 模拟返回按钮

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

this.onBackPressed();

或者

getActivity().onBackPressed();

取决于你在哪里调用它。

于 2014-08-14T14:26:24.517 回答
-1

在您的软后退按钮 onClick 事件中写入

Intent _intent = new Intent(PresentActivity.this,PreviousActivity.class);
startActivity(_intent);
于 2011-08-01T11:35:46.097 回答