今天在做环境监测的模拟软件时,登陆页面报NullPointException
一般像我们初始化Button时,是Button btn=(Button)findViewById(R.id.button1);
其实完整的写法应该是
Button btn=(Button)this.findViewById(R.id.button1);
但是在onCreate里面,this可以省略。
在自定义的界面动态加载时,需要这样写:
EditText et=(EditText)layout.findViewById(R.id.tv_setIp);(layout为你加载的EditText所存在的布局)
而且要在setView之前初始化。
代码片段:
LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.dialog_set_ip, null);
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
System.out.println("创建成功");
alert.setView(layout);
System.out.println("创建视图");
et_setIP = (EditText) layout.findViewById(R.id.et_setIP);