【问题标题】:Android: startActivityForResult always gets a resultCode of 0? [closed]Android:startActivityForResult 总是得到 0 的 resultCode? [关闭]
【发布时间】:2010-12-27 22:20:56
【问题描述】:

由于某种原因,当我使用调用时,结果总是返回为 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}

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果您想在按下后退按钮时从活动中返回一些特定数据,您也可以实现Activity.onBackPressed()。不过,看起来这仅适用于 2.0。

      【讨论】:

        猜你喜欢
        • 2020-06-08
        • 1970-01-01
        • 2020-11-23
        • 1970-01-01
        • 1970-01-01
        • 2018-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多