我創建了一個擴展Dialog的自定義對話框。一個按鈕表明該對話框是一個「OK」按鈕,用戶在完成在其他字段中輸入信息後,預計將按下該按鈕。我無法讓任何聽衆設置爲該按鈕來觸發。自定義對話框上的按鈕不響應點擊事件
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;
}
});
…
}
我也試圖在對話框類實現的監聽器的實現(http://www.androidcompetencycenter.com/2009/01/android-basics-dialogs-and-floating-activities/)而不是使用內部類(http://about-android.blogspot.com/2010/02/create-custom-dialog.html): 仍然沒有運氣。
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;
}
…
}
我已經設置裏面每個在實施的兩個版本聽衆的斷點,調試器不會停止執行。我曾嘗試將內部類用於沒有解決問題的聽衆。
任何線索? 感謝
使Dialog實現偵聽器沒有幫助。用相同結果使用的兩種方法更新了問題。 – Mike 2010-10-12 14:35:45