android安卓开发 TextView空指针问题怎么解决

我的rmsg已经取到了 System.out.println打印输出也正常 那我设置textView22为什么就报了空指针呢 还是要把textView22放到别的地方去设置 我是点了一个按钮 开始刷卡 然后返回值通过handler发送 然后接收到以后设置成rmsg

    private TextView textView22;
    private String rmsg;
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            rmsg=(String)msg.obj;
            System.out.println("我的卡号是******"+rmsg);
            textView22.setText(rmsg);
        }
    };

textView22没有初始化 需要findviewById()

在发送handler的地方用bundle的方式试试吧
Bundle bundle=new Bundle();
bundle.putString("msg",你的返回值);
Message message=new Message();
message.setData(bundle);
message.what=0x00;
myHandler.sendMessage(message);

接着在回到主线程的handler函数中
String msg1=msg.getData().getString("msg");
然后再进行Textview的设置吧

重写dispatchMessage函数

textView22=(TextView)findViewById(R.id.textView22的id);

在oncreat()方法里,找到你的布局文件setContentView(R.layout.xxxx),xxx表示你真正的布局XML文件,在布局XML文件中找到你的TextView控件,给它
赋一个id属性,如:android:id="@+id/tv_card"。
在setContentView方法下面,写一句textView22 = (TextView)findViewById.(R.id.tv_card);
这样试用textView22.setText(rmsg);的时候就不用空指针了。
如果还有问题欢迎回复。

textview 没有初始化,然后到时setText导致空指针报错

一看到空指针,那就看对象是否实例化,是否为null

看下是不是没有初始化

楼上的都是正解,还有就是,如果发送的过程退出该页面也有可能引发空指针

这代码写的有我往年的风范。有一点救。你要不在每个点前面都判断下是否为空。再调用方法

使用kotlin吧,你就无需担心空指针了..

被调用的对象为null,检查是否初始化、

大哥 你都没初始化 能不空么