当我按下按钮时,我不断得到CalledFromWringThreadException。
我的程序是这样的:
public class MainActivity extends Activity implements Callback {
Handler handler = new Handler(this);
TextView tv = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv1);
Button button = (Button) findViewById(R.id.sendRequest);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new Thread(new Runnable() {
@Override
public void run() {
//...
Message msg = handler.obtainMessage(0, new String("\nSending Request from " + sourcePortString));
handler.dispatchMessage(msg);
//...
}
}).start();
}
});
}
@Override
public boolean handleMessage(Message msg) {
tv.append((CharSequence) msg.obj);
return true;
}
}
我尝试删除implements Callback
并在anonymus类中扩展Handler
类,实现handleMessage(Message msg)
方法。但是当我尝试将某些内容添加到TextView时,我仍然得到相同的结果。
我遗失了一些东西。
我以为我终于掌握了那些Handler
...
你能帮帮我吗?
答案 0 :(得分:3)
您使用了错误的方法dispatchMessage
。
使用sendMessage
。
此致