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

时间:2009-12-18 04:32:02

标签: android android-intent

出于某种原因,当我使用该调用时,结果总是返回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 个答案:

答案 0 :(得分:3)

好吧,现在不要向我发火焰。我花了两个小时来调试这个:(只需将其写下来,以便其他人不会犯这个愚蠢的错误。我必须放一个“确定”按钮然后处理事件而不是让用户按下“返回”按钮在电话上。这是显而易见的事情但由于某种原因我错过了它...

答案 1 :(得分:1)

如果要在按下后退按钮时从活动中返回某些特定数据,也可以实现Activity.onBackPressed()。看起来它只适用于2.0。