listView中的后退按钮导致崩溃

时间:2011-02-24 00:03:07

标签: android

我有一个editText和按钮。按下按钮,它会启动listView活动。单击listView中的项目,它将关闭该活动并将editText设置为单击的项目。

但是如果你进入listView并单击一个项目点击后退按钮,它就会崩溃。我想我需要在onPause中做一些事情,但不确定这是不是最好的方法。

listView,点击项目时......

            Intent intent = new Intent();
            Bundle b = new Bundle();
            b.putString("TEXT", ((TextView) view).getText().toString());
            intent.putExtras(b);
            setResult(SUCCESS_RETURN_CODE, intent);
            finish();

... onActivityResult

            Bundle b = data.getExtras();
            mEditCategory.setText(b.getString("TEXT"));

1 个答案:

答案 0 :(得分:3)

您收到例外情况:datanull,因为您的活动未返回结果。

默认情况下,后退键将结束活动而不设置结果。检查resultCode参数onActivityResult以查看是否因为点击了列表项而返回了子活动:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == SUCCESS_RETURN_CODE) {
        // TODO handle data here from list item click
    }
}

如果活动明确返回,resultCode将为RESULT_CANCELED,在其操作期间未返回任何结果或崩溃(请参阅docs for Activity)。