I've implemented this dialog into my android app and it works fine. How to make a "do not ask me again" dialog pop-up box? Android
That is my onResume() method:
@Override
protected void onResume()
{
AlertDialog.Builder adb = new AlertDialog.Builder(this);
LayoutInflater adbInflater = LayoutInflater.from(this);
View eulaLayout = adbInflater.inflate(R.layout.checkbox, null);
dontShowAgain = (CheckBox) eulaLayout.findViewById(R.id.skip);
adb.setView(eulaLayout);
adb.setTitle("Info");
adb.setMessage(Html.fromHtml("Readme"));
adb.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
String checkBoxResult = "NOT checked";
if (dontShowAgain.isChecked())
checkBoxResult = "checked";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("skipMessage", checkBoxResult);
editor.commit();
return;
}
});
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String skipMessage = settings.getString("skipMessage", "NOT checked");
if (!skipMessage.equals("checked"))
adb.show();
super.onResume();
}
But how can I integrate a 10 second countdown into the the OK button. During this countdown the AlertDialog should not be close by clicking the OK button (it should be disabled for the time of the countdown).
write your code like below
// Create a handler
Handler handler = new Handler();
AlertDialog.Builder adb = new AlertDialog.Builder(this);
LayoutInflater adbInflater = LayoutInflater.from(this);
View eulaLayout = adbInflater.inflate(R.layout.checkbox, null);
dontShowAgain = (CheckBox) eulaLayout.findViewById(R.id.skip);
adb.setView(eulaLayout);
adb.setTitle("Info");
adb.setMessage(Html.fromHtml("Readme"));
adb.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
String checkBoxResult = "NOT checked";
if (dontShowAgain.isChecked())
checkBoxResult = "checked";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("skipMessage", checkBoxResult);
editor.commit();
return;
}
});
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String skipMessage = settings.getString("skipMessage", "NOT checked");
if (!skipMessage.equals("checked"))
AlertDialog dialog = adb.create();
dialog.show();
final Button button;
button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
if(dialog.isShowing()){
button.setClickable(false);
}
// Post the task to set it clickable in 10000ms
handler.postDelayed(new Runnable(){
@Override
public void run() {
//if(null !== button || button !== null)
button.setClickable(true);
}}, 10000);