我有一个实现两个的类interfaces
:OnClickListener
和Runnable
当用户按下按钮时,我会像这样进入 Switch:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
pd = ProgressDialog.show(this, "Please Wait",
"Generating", false);
Thread t = new Thread(this);
t.start();
break;
}
}
这应该启动我的运行方法,它有一个这样的 else 语句:
else {
Message msg = handler.obtainMessage();
msg.obj = "1";
handler.sendMessage(msg);
}
还有我的处理方法:
private Handler handler = new Handler() {
@SuppressWarnings("unchecked")
@Override
public void handleMessage(Message m) {
pd.dismiss();
if(m.toString().equals("1")) {
Toast.makeText(getApplicationContext(), "Do a scan first", Toast.LENGTH_SHORT).show();
}
}
};
代码运行没有任何异常,但Toast
没有显示,应该是!我相信人们会说我应该为此使用 an AsyncTask
,但这不是我正在寻找的答案。
我在这里做错了什么?