Android 如何使用setResult进入上一个活动?
当单击任何列表项时,我必须转到父活动,并显示setResultAndroid 如何使用setResult进入上一个活动?,android,android-intent,Android,Android Intent,当单击任何列表项时,我必须转到父活动,并显示setResult list.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Log.d("gaurav", "li
list.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Log.d("gaurav", "list is clicked");
moveToEvent();
}
});
我的moveToEvent方法是:
public void moveToEvent() {
Log.d("gaurav", "Move to evnet");
Intent intent = new Intent();
this.setResult(5, intent);
// this.startActivity(intent);
this.finish();
}
使用这段代码,我可以返回父活动两三次,之后就不会返回父活动并刷新自己的活动。我找不到解决办法。请在这个问题上帮助我
我也尝试了反压法,但效果相同
@Override
public void onBackPressed() {
// TODO Auto-generated method
Intent intent = new Intent();
setResult(5, intent);
finish();
super.onBackPressed();
}
请告诉我哪里出了错。你必须从
Intent i = new Intent(SignUpActivity.this, UploadImage.class);
startActivityForResult(i, 1);
然后写在你的家长活动中
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
//your code
} else {
}
}
然后在你的第二个活动中写下
Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
我用这个来解决我的问题。此代码将位于父活动中
Intent Intent=新意图(AddEvent.this,AddVenue.class);
intent.setFlags(intent.FLAG\u ACTIVITY\u CLEAR\u TOP);
startActivityForResult(意向书,222);
((Activity)AddEvent.this).重写EndingTransition(0,0)代码>
这是解决这个问题的关键
intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
它是什么意思,因为它是去了一段时间后,它是不去-意味着活动没有结束??你调试了??finish()一直都在被调用??尝试这个尝试这个深入解释希望它能帮助nJoy!!在我的代码finish中提到,这段代码每次都在运行。这里面会有什么问题。我是否应该发布父活动的onActivityForResult方法。使用addflag on Intent清除堆栈活动,可能会有所帮助。像这样的minent.addFlags(Intent.FLAG\u ACTIVITY\u CLEAR\u TOP);哇,thax Mitesh Agarwal,对我来说很有用。谢谢你救了我一天。:)gaurav说活动本身还没有结束,你的cade是否也有帮助??