我创建了一个扩展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;
}
});
…
}
Run Code Online (Sandbox Code Playgroud)
我还尝试了一个实现,其中Dialog类实现了侦听器(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;
}
…
}
Run Code Online (Sandbox Code Playgroud)
我在两个版本的实现中都在每个侦听器中设置了断点,并且调试器永远不会停止执行.我试图为没有解决问题的侦听器使用内部类.
有线索吗?谢谢
| 归档时间: |
|
| 查看次数: |
12634 次 |
| 最近记录: |