ユーザーが選択するボタンがあり、AlertDialog をポップアップして、一部のデータを置き換える操作を OK または CANCEL します。OK と CANCEL は、ASYNCH プロセスであることがわかった後、正常に機能します。また、複数回のクリックも停止します。ただし、ユーザーが [OK] を押すと、いくつかのタスクと共に情報をメモリに保存する必要があります。OK プロセスには約 3 秒かかります。これは、せっかちな人の限界を超えています。メッセージ付きの不確定な進行状況バーを表示したい。しかし、Java と android に対する私の新しさが邪魔になっています。以下のコードの「コンテキスト」とは正確には何ですか?
public void getData(final View v)
{
if(AlertDialogProcessing==0)
{
final String title="Set Image to Wallpaper";
final String message="Press OK to set as Wallpaper or CANCEL";
final String ok="OK";
final String cancel="CANCEL";
final AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
try{
alertbox.setMessage(message);
alertbox.setTitle(title);
alertbox.setPositiveButton(ok,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface arg0, int arg1)
{
Vibrate(ClickVibrate);
Drawable drawable= getSun(imageSelect);
ProgressDialog dialog = ProgressDialog.show(context, "Loading", "Please wait...", true); //<<<<<<<<<<ERROR at context
AlertDialogProcessing=1;
SaveData(drawable,1);
AlertDialogProcessing=0;
dialog.dismiss();
Toast.makeText(getApplicationContext(), "Data Saved.",Toast.LENGTH_LONG).show();
}
});
alertbox.setNegativeButton(cancel,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface arg0, int arg1){
AlertDialogProcessing=0;
Vibrate(ClickVibrate);
}
});
//alertbox.setCanceledOnTouchOutside(false); // maybe a 4.0 problem
alertbox.show();
} catch(Exception e){
//TODO Handle BadTokenException.
}
}
}