将结果ResultInfo {who = null,request = 1,result = -1,data = Intent {(has extras)}}传递给活动失败; 显示java.lang.NullPointerException

Man*_*ani 5 null android

我为我的最后一年项目创建触发器和动作应用程序,

我将子活动结果返回到中间活动,然后向该活动添加一些数据并将其再次发送到主活动,

我做了Trigger子模块和Action子模块,两者都是相同的编码....

触发模块工作正常,但当动作模块运行应用程序被强制停止

而错误是

E/AndroidRuntime(5104): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {mani.droid.mechanize/mani.droid.mechanize.ActionListActivity}: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

孩子onActivityResult

public void onSave(View v)
{
    if(txtNum.length() != 0)
    {
        String strTmp = null;
        Intent resultInt = new Intent();
        strTmp = txtNum.getText().toString();
        resultInt.putExtra("Num", strTmp);
        resultInt.putExtra("SubName", strTmp);
        setResult(Activity.RESULT_OK, resultInt);
        finish();
    }
    else
        Toast.makeText(getApplicationContext(), "Please enter number or choose from contact", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

中级onActivityResult

//getting result from other activity and sending to action list activity
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);
    if(resultCode == Activity.RESULT_OK)
    {
        switch(reqCode)
        {
            case 1:
                    data.putExtra("ActionName", txtAction);
                    setResult(Activity.RESULT_OK, data);
                    finish();
                    break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

主要是onActivityResult

//Getting Trigger parameters and adding to list
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);
    if(resultCode == Activity.RESULT_OK)
    {
        switch(reqCode)
        {
            case 1:
                if (data.equals(null))
                {
                    Toast.makeText(context, "Intent is Null", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    //String actName = data.getStringExtra("ActionName");
                    String subName = data.getStringExtra("SubName");
                    Toast.makeText(context, subName, Toast.LENGTH_SHORT).show();
                }
                break;
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

Sea*_*wen 7

这意味着Intent接收器在其中引发了异常onActivityResult().我可以看到NullPointerException这里的权利:data.equals(null)肯定是不对的,因为它的时候抛出一个异常datanull.你的意思data == null.

  • 什么是**谁**= null? (8认同)