尝试调用虚方法' int java.lang.String.length()'在null对象引用上

时间:2018-04-08 14:49:13

标签: java android json

以下是我的代码: 我将jSON对象从一个活动发送到另一个活动。

// In LoginActivity
Intent intent = new Intent(LoginActivity.this,EmpLoginActivity.class);
                                    startActivity(intent);

intent.putExtra("data",jsonObject.toString());

在EmpLoginActivty.java

  try {
        JSONObject jsonObject = new JSONObject(getIntent().getStringExtra("data"));
            tv1.setText(jsonObject.getString("name"));
            tv2.setText(jsonObject.getString("type"));
            tv3.setText(jsonObject.getString("hours"));

    } catch (JSONException e) {
        e.printStackTrace();
    }

错误:

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.krish.emp/com.example.krish.emp.EmpLoginActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference

1 个答案:

答案 0 :(得分:0)

在将意图传递给startActivity之前,您需要完全填充意图。

所以改变这个:

startActivity(intent);
intent.putExtra("data",jsonObject.toString());

到此:

intent.putExtra("data",jsonObject.toString());
startActivity(intent);