界面动态加载时报NullPointException
今天在做环境监测的模拟软件时,登陆页面报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);
作者:af74776
文章出处:http://www.cnblogs.com/scetopcsa/
欢迎关注微信公众号:yilu_yiyou(一路一游),一个不仅仅是代码的世界!
如果文中有什么错误,欢迎指出。以免更多的人被误导。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
文章出处:http://www.cnblogs.com/scetopcsa/
欢迎关注微信公众号:yilu_yiyou(一路一游),一个不仅仅是代码的世界!
如果文中有什么错误,欢迎指出。以免更多的人被误导。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。