私は2つを実装するクラスを持っていますinterfaces
:OnClickListener
そしてRunnable
ユーザーがボタンを押すと、次のようにスイッチに入ります。
@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ステートメントを持つRunメソッドが開始されます。
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
、表示されていません。AsyncTask
これには を使用する必要があると人々が言うと確信していますが、それは私が探している答えではありません。
ここで何が間違っていますか?