0
Intent intent = new Intent(this,AnotherClass.class);
intent.putExtra("Name", "foo");
setResult(RESULT_OK, null);

super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
      case (1): {
        TextView textView = (TextView) findViewById(R.id.TextView01);
        if (resultCode == Activity.RESULT_OK) {
          textView.setText("Data" + data.getStringExtra("Name"));
        }

私は何を間違っていますか?

4

1 に答える 1

1

いくつか間違っていることがあります。メソッド setResult で Intent を設定しないでください。これをチェックしてください: http://developer.android.com/reference/android/app/Activity.html#setResult(int,%20android.content.Intent)

null の代わりにインテントを渡す必要があります。

次に、onActivityOnResult からスーパーを削除します。onActivityOnResult を呼び出すのではなく、オーバーライドします。

次に、requestCode を切り替えます。RESULT_OK が 1 であることは確かですか? それ以外の場合は機能しません。したがって、1 よりも定数 RESULT_OK を使用する方が適切です。

于 2010-06-01T19:35:13.530 に答える