我刚刚开始使用Android应用开发,今天我试图解决我的第一个有用的应用,它不是什么花哨的,只是一个存储联系信息的联系人管理器并将它们存储在列表视图中但是当我编译它时,应用程序启动,甚至让我们遇到在标签之间切换(一个标签有输入框,另一个标签有列表视图)但是在我输入联系人后,下次我尝试切换到另一个标签时,应用程序崩溃在对话框中,我可以看到应用程序抛出了Null指针异常错误。无论如何,我可以通过更改我的代码语法来解决这个问题吗?
public void populatelist() {
ArrayAdapter<Contact> adapter = new contactlistAdapater() ;
contactlistview.setAdapter(adapter);
}
private void addcontact(String name, String phone, String email, String address){
contacts.add(new Contact(name, phone,email, address)) ;
}
private class contactlistAdapater extends ArrayAdapter<Contact> {
public contactlistAdapater() {
super (MainActivity.this, R.layout.contact_layout, contacts) ;
}
@Override
public View getView(int position, View view, ViewGroup parent ){
if (view == null)
getLayoutInflater().inflate(R.layout.contact_layout, parent, false) ;
Contact CurrentContact = contacts.get(position) ;
TextView name = (TextView) view.findViewById(R.id.name) ;
name.setText(CurrentContact.getname());
TextView phone = (TextView) view.findViewById(R.id.Phone) ;
phone.setText(CurrentContact.getphone());
TextView email = (TextView) view.findViewById(R.id.Email) ;
email.setText(CurrentContact.getemail());
TextView address = (TextView) view.findViewById((R.id.address)) ;
address.setText(CurrentContact.getaddress());
return view ;
}
}
答案 0 :(得分:0)
如果给定一个无效的整数作为参数,则findViewById将返回null。因此,如果你不使用内置的android studio autocomplete来创建你的R.id语句....你会遇到这样的事情。