我正在编写一个处理程序并尝试在 handlemessage 方法中打印线程名称,代码如下
public class handler extends Activity
{
EditText et;
Handler h=new Handler()
{
public void handleMessage(Message m)
{
Toast.makeText(getApplicationContext(), Thread.currentThread().getName(), Toast.LENGTH_SHORT).show();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.handler);
et=(EditText)findViewById(R.id.handle);
Thread t=new Thread()
{
public void run()
{
int i=0;
while(i<10)
{
try
{
Thread.sleep(1000);
}catch(Exception ep){}
i++;
h.dispatchMessage(h.obtainMessage());
}
}
};
t.start();
}
}
但是应用程序崩溃了。如果我使用 log.v 打印线程名称,它可以工作。请更新它发生的原因。谢谢特金德