Android-dialog.cancle不起作用问题

发布于 2016-11-30 04:07:24 字数 955 浏览 1376 评论 1

我自己自定义一个dialog,不想用默认的dialog的button,自己在布局中加了2个button,点击button后dialog.cancle不起作用,dialog取消不了是怎么回事,代码是:

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
View layout = MainActivity.this.getLayoutInflater().inflate(R.layout.my_dialog_layout, null);
final TextView cancle = (TextView) layout.findViewById(R.id.btn_cancle);
final TextView ok = (TextView) layout.findViewById(R.id.btn_ok);
builder.setView(layout);
builder.setTitle(getString(R.string.dialog_tile));
final AlertDialog dialog = builder.create();
cancle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.cancel();
}
});
ok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.cancel();
}
});
dialog.show();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-01-01 04:18:41

仔细一看你的代码,突然惊愕的发现了 TextView,亲,要看看你的 my_dialog_layout 里面肿么写的控件了。

AlertDialog.Builder aBuilder = new AlertDialog.Builder(
MainActivity.this);
View layout = getLayoutInflater().inflate(R.layout.todo, null);
final Button cancel = (Button) layout.findViewById(R.id.todo_button);

aBuilder.setView(layout);
aBuilder.setTitle(getString(R.string.app_name));
final Dialog dialog = aBuilder.create();
dialog.show();

cancel.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
dialog.cancel();
}
});

布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

<Button
android:id="@+id/todo_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name" />

</LinearLayout>

祝好,
斑驳敬上

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文