漆黑天使复活 2016-04-27 13:28 采纳率: 44.4%
浏览 3839
已采纳

android小白问一个故障

android小白,做一个很简单的动作,第一个activity里面输入的内容传递到第二个activity的textview中去,但是报错如下
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

第一个activity

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
    }
 public void sendMessage3(View view){
Intent intent=new Intent(this,DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
  intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
            }

     public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";


}

第二个activity

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);


        TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(message);

        // Set the text view as the activity layout
        setContentView(R.layout.activity_display_message);


    }

如果我把 tv.setText(message);这句话注销掉,不赋值,第二个页面就能正常打开。

android刚上手小白。。自己研究了半天没研究出什么原因,求大神解答,非常感谢

  • 写回答

14条回答 默认 最新

  • 夜幕色倾城 2016-04-27 15:16
    关注

    setContentView(R.layout.activity_display_message);放在第三行,其他下移

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(13条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作