Java notifyDataSetChanged()NullPointerException
我尝试添加一次单击此按钮,然后在数据库中创建联系人 下面是我试图将其添加到主_片段的代码Java notifyDataSetChanged()NullPointerException,java,android,nullpointerexception,Java,Android,Nullpointerexception,我尝试添加一次单击此按钮,然后在数据库中创建联系人 下面是我试图将其添加到主_片段的代码 final Button addBtn = (Button) view.findViewById(R.id.btnadd); addBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Uri imageU
final Button addBtn = (Button) view.findViewById(R.id.btnadd);
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Uri imageUri = Uri.parse("android.resource://org.intracode.contactmanager/drawable/no_user_logo.png");
import_fragment.Contact contact = new import_fragment.Contact(dbHandler.getContactsCount(), String.valueOf(nametxt.getText()), String.valueOf(phoneTxt.getText()), String.valueOf(emailTxt.getText()), String.valueOf(addressTxt.getText()), imageUri);
if (!contactExists(contact)) {
dbHandler.createContact(contact);
Contacts.add(contact);
contactAdapter.notifyDataSetChanged(); // Error in this line
Toast.makeText(getActivity().getApplicationContext(), String.valueOf(nametxt.getText()) + " has been added to your Contacts!", Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(getActivity().getApplicationContext(), String.valueOf(nametxt.getText()) + " already exists. Please use a different name.", Toast.LENGTH_SHORT).show();
}
});
当我在应用程序中按下此按钮时,“应用程序已停止工作”
这是我的日志
01-22 08:31:04.014 29398-29398/com.al3almya.users.al3almya E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.al3almya.users.al3almya, PID: 29398
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ArrayAdapter.notifyDataSetChanged()' on a null object reference
at com.al3almya.users.al3almya.main_fragment$1.onClick(main_fragment.java:77)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20262)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5637)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
似乎尚未设置变量contactAdapter。contactAdapter未初始化contactAdapter为空或设置适配器的对象为空
确保已初始化所有变量。否则试着运行dubugger。我不知道根本原因。。如果ContactAdapter!=nullcontactAdapter.notifyDataSetChanged;在初始化适配器的地方发布更多的代码。现在一天之内,所有人都投了反对票,哈哈:你还没有初始化contactAdapter,它是nullRaghavendra,按钮正在工作,没有应用程序停止,但当我尝试添加存在的联系人时,它并没有说已经存在。请使用不同的名称。我认为,当我添加联系人时,它不会添加到我的数据库中,因为它不会在另一页中显示我数据库中的任何联系人