2 k lord K_Lord 于 2013.05.14 14:50 提问

Android Handler更新界面出错,
    Handler handler = new Handler() {
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        ReturnShow.setText(sMsg);//ReturnShow是一个EditText 错误在这里
        ReturnShow.setSelection(ReturnShow.length());
    }
};

class ReadThread extends Thread {
    public void run() {
        sMsg = "...";
        handler.sendMessage(handler.obtainMessage());
    }
}

代码如上, setText那里每次都要出错, 是什么原因? 附上错误信息
CSDN移动问答

2个回答

K_Lord
K_Lord   2013.05.14 17:25
已采纳
RerurnShow为null
 ReturnShow = (EditText) findViewById(R.id.ResultShow);这句里面的ID搞错了,弄成一个非当前Activity的ID;

太粗心了

suannai0314
suannai0314 你可以自己将你的答案采纳下~
4 年多之前 回复
loFataMer
loFataMer   2013.05.14 15:25

需要在设置ReturnShow之前对它进行初始化..

比如这样:

ReturnShow = (EditText)findViewById(R.id.edittext);
K_Lord
K_Lord 这个在OnCreate里面已经进行了赋值!
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!