目前,我的活动允许用户填写某些数据。包括微调器等。当用户点击下一个系统导航到另一个屏幕时。当我按下手机上的后退按钮时,前一个活动已加载并且已填充数据可用。
我的要求要求我在UI中提供一个柔和的“后退”按钮。当用户点击它时,它会导航回到上一个屏幕,但填充的数据不可用。
有没有办法在软UI按钮onclick事件上模拟后退按钮?
Intent back = new Intent(ImagePreviewActivity.this, sendingpage.class);
startActivity(back);
提前感谢您的时间。
答案 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);