Android: startActivityForResult总是得到一个resultCode为0?

3

由于某些原因,当我使用该调用时,结果总是返回为0。我所做的一切就是弹出选择框,然后一旦选择完成,用户点击“返回”按钮。有谁知道我可能犯了什么错误吗?

调用活动:

Intent i = new Intent(this, Selection.class);
Log.d("Front-End", "Launching Activity");
startActivityForResult(i, SELECTION);

被调用的活动:

bundle.putStringArray("selections", selected_array);
Intent resultIntent = new Intent();
resultIntent.putExtras(bundle);
setResult(RESULT_OK, resultIntent);
finish();

有什么建议吗?如果我包含finish()调用,会出现以下情况:
W/ActivityManager( 1030): Duplicate finish request for HistoryRecord{44802c90 com.android.TVitter/.Selection}
2个回答

3

好的,现在不要对我发火。我花了两个小时来调试这个 :( 我只是写下来让其他人不要犯这个愚蠢的错误。我必须放置一个“确定”按钮,然后处理事件,而不是让用户按手机上的“返回”按钮。这是一件很明显的事情,但出于某种原因我错过了它...


1
如果你想从Activity中返回一些特定的数据,可以使用Activity.onBackPressed()方法来实现。不过,这个方法似乎只在2.0以上的版本可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接