java - println 需要一条消息 - onActivityResult

标签 java android

我正在尝试将消息从 SecondActivity 发送到 FirstActivity 进行打印。我使用 startActivityForResult(intent, requestcode) 启动 SecondActivity,然后输入文本并使用 onActivityResult() 发送输入的文本以由 FirstActivity 显示。当我运行 Activity 并单击发送时,我收到错误消息,指出“println 需要一条消息”。结果没有传递到 FirstActivity。

下面是代码: 第一个 Activity :

private void StartSecondActivity() {

    Log.i(tag, "SecondActivity");

    Intent iSecond = new Intent(this, SecondActivity.class);

    startActivityForResult(iSecond, REQUEST_CODE);

}

第二个 Activity :

private void eClicked() {

    Log.i(tag, "Clicked()");
    String mes = mEditText.getText().toString();

    Intent intent = new Intent();
    intent.putExtra(EXTRA_MESSAGE, mes);

    setResult(RESULT_OK, intent);
    Log.i(tag, mes);

    finish();
}

这里它确实记录了正确的消息。

第一个 Activity :

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    Log.i(tag, "onActivityResult()");
    if(requestCode == REQUEST_CODE ){
        if(resultCode == RESULT_OK){
            Intent inte = getIntent();
            String m = inte.getStringExtra(SecondActivity.EXTRA_MESSAGE);
            mTextView.setText(m);
        }
    }

}

它进入 onActivityResult 并记录消息,然后崩溃并显示以下错误消息。

错误消息:

02-09 18:52:42.010: E/AndroidRuntime(1831): FATAL EXCEPTION: main
02-09 18:52:42.010: E/AndroidRuntime(1831): Process: droid.intentexp.intents, PID: 1831
02-09 18:52:42.010: E/AndroidRuntime(1831): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {droid.intentexp.intents/droid.intentexp.intents.FirstActivity}: java.lang.NullPointerException: println needs a message

我不确定出了什么问题。有人可以解释一下吗?

谢谢。

最佳答案

您应该使用data Intent getIntent()

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    Log.i(tag, "onActivityResult()");
    if (requestCode == REQUEST_CODE ) {
        if (resultCode == RESULT_OK) {
            String m = data.getStringExtra(SecondActivity.EXTRA_MESSAGE);
            mTextView.setText(m);
        }
    }
}

关于java - println 需要一条消息 - onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21667159/

相关文章:

java - 在 slf4j 运行时设置消息的日志级别

android - 样式 Action 模式

android - 任务 ':app:generateDebugBuildConfig' 执行失败。在 flutter 中

android - appcompat-v7 :21. 0. 0': No resource found that matches the given name: attr ' android:actionModeShareDrawable'

java - Jain-sip 自动发送sip消息

java - 我应该为 DTO 使用 Serialized 吗?为什么应该使用?

java - 以编程方式创建 IMAP/POP3 帐户

java - 不存在 Activity 类文件 - 为什么?

android - 如何解析从 Android 应用程序中的 Geocoding API (V3) 收到的 Json 响应?

java - 一个类中可以嵌套多少次类?