私はアンドロイドアプリを実装しています。クライアントからサーバーにデータを送信するときに、データが正常に送信されたことをクライアントに知らせたいという問題はありません。AlertDialog を実装しましたが、データを送信すると、「Looper.prepare() を呼び出していないスレッド内でハンドラーを作成できません」というメッセージが表示されます。以下にコードを添付しました。
private void saveOrder(final Order order) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
getConnection().saveOrder(order);
handleSuccessSaveOrder();
}
catch (Exception exc) {
Log.d("--- ERROR ---", exc.getMessage());
handleException(exc.getMessage());
}
}
});
thread.start();
}
private void handleSuccessSaveOrder() {
showAlert(Farsi.Convert(" j "),R.drawable.warning);
//showActivity(MainMenuActivity.class);
}
private void showAlert(String message, int iconId) {
alert = new AlertDialog.Builder(ReviewOrderActivity.this);
alert.setTitle("Status Dialog");
alert.setMessage(message);
alert.setIcon(iconId);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
showActivity(MainMenuActivity.class); } });
alert.show();
}