我正在尝试切换布局,但下面的错误不断出现。
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.ViewGroup.setId(int)' on a null object reference
android studio正在抱怨“setContentView(R.layout.activity_main);”
我不确定如何修复此错误。我只是搜索了错误并尝试了几个修复程序,但没有一个用于添加网络的线程。我可能只是错过了一些简单的东西。任何帮助深表感谢。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new Thread(new Runnable() {
public void run() {
try {
new ChatServer();
} catch (IOException e) {
e.printStackTrace();
}
setContentView(R.layout.activity_main);
client = new Client();
client.start();
Network.register(client);
client.addListener(new Listener() {
public void connected(Connection connection) {
Network.RegisterName registerName = new Network.RegisterName();
registerName.name = name;
client.sendTCP(registerName);
}
public void received(Connection connection, Object object) {
if (object instanceof Network.ChatMessage) {
Network.ChatMessage chatMessage = (Network.ChatMessage) object;
System.out.println(chatMessage.text);
return;
}
}
});
host = client.discoverHosts(54777, 5000);
while (host == null) {
host = client.discoverHosts(54777, 5000);
System.out.println(host);
}
if (host.isEmpty()) {
addmsg("no hosts available");
System.exit(1);
}
final InetAddress address = host.get(0);
setContentView(R.layout.promptname);
}
}).start();
}
答案 0 :(得分:1)
将setContentView(R.layout.activity_main);
移到您的匿名内部线程类之外,并摆脱setContentView(R.layout.promptname);
您需要在视图之间切换,您应该查看Fragment