Ho creato una finestra di dialogo personalizzata che estende Dialog. Un pulsante in cui la finestra di dialogo è un pulsante "OK" che l'utente è tenuto a premere una volta terminato l'inserimento delle informazioni in altri campi. Non riesco a far scattare gli ascoltatori su quel pulsante.Pulsante nella finestra di dialogo personalizzata che non risponde agli eventi Click
public class HeightDialog extends Dialog {
private Button okButton;
…
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.heightdialog);
this.okButton = (Button)this.findViewById(R.id.userOkWithHeight);
this.okButton.setOnClickListener(new android.view.View.OnClickListener() {
public void onClick(View v) {
// Does not fire
HeightDialog.this.dismiss();
return;
}
});
this.okButton.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
// Does not fire
HeightDialog.this.dismiss();
return true;
}
});
this.okButton.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// Does not fire
HeightDialog.this.dismiss();
return true;
}
});
…
}
Ho anche tentato un'implementazione in cui la classe Dialog implementato gli ascoltatori (http://www.androidcompetencycenter.com/2009/01/android-basics-dialogs-and-floating-activities/) invece di utilizzare classi interne (http://about-android.blogspot.com/2010/02/create-custom-dialog.html): Ancora senza fortuna.
public class HeightDialog extends Dialog implements View.OnClickListener {
private Button okButton;
…
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.heightdialog);
this.okButton = (Button)this.findViewById(R.id.userOkWithHeight);
this.okButton.setOnClickListener(this);
public void onClick(View view){
HeightDialog.this.dismiss();
return;
}
…
}
ho impostare i punti all'interno di ogni ascoltatori in entrambe le versioni di attuazione, e il debugger non interrompe l'esecuzione. Ho tentato di utilizzare le classi interne per gli ascoltatori che non risolvono il problema.
Eventuali indizi? Grazie
Avere il Dialog che implementa l'ascoltatore non ha aiutato. Aggiornato la domanda con entrambi gli approcci utilizzati con lo stesso risultato. – Mike