不知道为何,只要监听按钮就会崩溃,无解中。。怎么解决啊。
布局文件layout/dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/passord"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="请输入密码" />
<Button
android:id="@+id/ok"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="确认" />
</LinearLayout>
Java 代码
AlertDialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.dialog, null);
builder.setTitle("设置密码");
builder.setView(view);
dialog = builder.create();
dialog.show();
Button btn_ok = (Button) findViewById(R.id.ok);
//这段是按钮监听代码
btn_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//没有任何内容也会崩溃,所以不是这里面的问题
}
});
只要监听按钮就崩溃,为什么!怎么解决啊
会崩溃是对的,空指针异常btn_ok == null.
把Button btn_ok = (Button) findViewById(R.id.ok);改为Button btn_ok = (Button) dialog.findViewById(R.id.ok);
######会崩溃是对的,空指针异常btn_ok == null.
把Button btn_ok = (Button) findViewById(R.id.ok);改为Button btn_ok = (Button) dialog.findViewById(R.id.ok);
非常正确!问题已解决,谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。