问题描述
- 一个关于Android编成问题 3C
- 代码如下:
public class get extends MainActivity {
Socket socket;
BufferedReader in;
private EditText OP;
EditText dose=(EditText)findViewById(R.id.editText);
public get() {
try {
Socket socket = new Socket(""192.168.11.254"" 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
new gd().start();
} catch (IOException e) {
e.printStackTrace();
}
}class gd extends Thread { public void run() { while (this.isAlive()) { try { String kk = in.readLine(); int k = (kk.lastIndexOf(""dose"")); String z; z = kk.substring(k + 5 k + 10); Thread.sleep(50); } catch (Exception e) { e.printStackTrace(); } } }}
}
提示如下:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference如何解决?
解决方案
这个报错不取决于这段代码。错误的原因是系统没有找到对应控件的ID。觉得可能是控件1,控件的ID匹配错了。2,布局文件里面的控件与代码里面控件的声明不匹配。
再检查一下。
解决方案二:
android 关于ExpandableListView的一个问题解决
解决方案三:
这个错误叫空指针异常:.NullPointerException,看提示是你这段代码错了:EditText dose=(EditText)findViewById(R.id.editText);,你找一下这个editText
这个ID是否是写在了EditText控件上了,还是写错了地方
解决方案四:
你的get类继承自MainActivity那么它应该也是一个Activity,那么你的onCreate方法呢?findViewById这种应该卸载onCreate里边
解决方案五:
EditText dose=(EditText)findViewById(R.id.editText);这个应该写在onCreate()方法里面的
解决方案六:
Socket socket与BufferedReader in实例化了两次,
Socket socket = new Socket(""192.168.11.254"" 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
把这两句改为
socket = new Socket(""192.168.11.254"" 8080);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
试试