How to get the DialogPreference POSITIVE_BUTTON to work on OnClick?
android, events, java, mobile, onclick
Solution
You need to implement the `DialogInterface.OnClickListener` and handle the `OnClick` events of each buttons
Create a custom `DialogPreference` class like this
public class CustomDialogPreference extends DialogPreference implements DialogInterface.OnClickListener{
public CustomDialogPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setPersistent(false);
setDialogLayoutResource(R.layout.image_dialog);
setPositiveButtonText("OK");
setNegativeButtonText("CANCEL");
}
@Override
public void onClick(DialogInterface dialog, int which){
if(which == DialogInterface.BUTTON_POSITIVE) {
// do your stuff to handle positive button
}else if(which == DialogInterface.BUTTON_NEGATIVE){
// do your stuff to handle negative button
}
}
}
Problem
I'm trying to write something to set a password with `DialogPrefence`. How do I get the `onClick()` event at OK button from the dialog? Here is the code: ``` package com.kontrol.app; import android.content.Context; import android.content.DialogInterface; import android.preference.DialogPreference; import android.util.AttributeSet; public class SS1_Senha extends DialogPreference implements DialogInterface.OnClickListener{ public SS1_Senha(Context context, AttributeSet attrs) { super(context, attrs); setPersistent(false); setDialogLayoutResource(R.layout.ss1_senha); setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { //Action after OK } }); } } ```