AlertDialog - Android

Opa!!! Estou com um problema que toda vez ao entrar em uma activity irá exibir um AletDialog com um CheckBox, que ao seleciona-lo, o usuario ao entrar de novo na activity não aparecia mas o AlertDialog…
Já consegui colocar o Alert e o Check… Mas a minha função não grava no SharedPreferences (Não sei porque) se o Alert foi selecionado…
Resumindo a função deve checar se o CheckBox foi selecionado ou não para o AlertDialog continuar aparecendo ou não na activity toda vez ao entrar na mesma…

Aqui meu Codigo…

CheckBox checkBox;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view_screen);

    View checkBoxView = View.inflate(this, R.layout.check_box, null);

    checkBox = (CheckBox) checkBoxView.findViewById(R.id.checkbox);

    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // Save to shared preferences
        }
    });

    checkBox.setText("Não Mostrar Essa Mensagem Novamente!!!");

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Titulo");

    builder.setMessage("Aqui Ficara o Assunto Do Mesmo!! ")
            .setView(checkBoxView)
            .setCancelable(false)
            .setPositiveButton("Sim", new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int id) {
            _SaveCH();
            Toast.makeText(ViewScreenActivity.this, "A Mensagem Não Será Exibida Novamente", Toast.LENGTH_SHORT).show();

        }
            }).show();
}

public void _SaveCH(){

    if (checkBox.isChecked()){
        SharedPreferences prefs = getApplicationContext().getSharedPreferences("SharedPreferences", 0);
        SharedPreferences.Editor editor = prefs.edit();

        editor.putBoolean("Preferences", checkBox.isChecked());

        //Confirma o Dado Boolean Salvo
        editor.commit();
    }
}

}

Joao,

Independente de vc estar gravando ou não, vc está sempre exibindo o AlertDialog.
Você precisa fazer uma verificação antes de exibir o AlertDialog.

1 curtida