界面动态加载时报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);
原文地址:https://www.cnblogs.com/scetopcsa/p/3757980.html