空活动为NullPointer异常-Android Studion,Java [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空活动为NullPointer异常-Android Studion,Java [关闭]相关的知识,希望对你有一定的参考价值。
我正在尝试构建一个移动应用,但遇到了一些问题。首先:我创建了一个登录和注册活动,连接到Firebase,创建了一个User类,以便将有关用户的信息保存在数据库中,不仅包括电子邮件和密码,而且一切正常。然后,我打开了一个抽屉活动,并添加了一个名为Account的活动,其中应显示有关用户的数据。最初尝试获得NullPointerException,但尝试了另一种方法,最后设法解决了该问题:当我从navi抽屉的字段中选择Account时,AccountActivity打开并且用户数据在那里。在AccountActivity中,我创建了一个“更新”按钮,当您单击它时,它将打开一个新活动,您可以在其中更改帐户中的数据,并且新数据将在Firebase中更新。我只使用了6个字段中的4个进行了尝试,然后它起作用了,然后,当我将最后两个字段(与其他4个字段完全一样)放置时,应用程序崩溃了,又再次出现了NULLPointerException。我没有做任何更改,仅添加了最后一个字段。
另一个问题是,现在,当我尝试访问RegisterActivity时,它正在打开一个空活动,并显示文本“活动”,我真的不明白为什么。
有人可以给我一些帮助吗?
用户类
public String fullName;
public String email;
public String gender;
public String age;
public String weight;
public String height;
public User()
public User(String fullName, String email, String gender,String age, String weight, String height)
this.fullName = fullName;
this.email = email;
this.gender = gender;
this.age = age;
this.weight = weight;
this.height = height;
public String getFullName()
return fullName;
public String getEmail()
return email;
public String getGender()
return gender;
public String getWeight()
return weight;
public String getHeight()
return height;
public String getAge() return age;
public void setFullName(String fullName)
this.fullName = fullName;
public void setEmail(String email)
this.email = email;
public void setGender(String gender)
this.gender = gender;
public void setWeight(String weight)
this.weight = weight;
public void setHeight(String height)
this.height = height;
public void setAge(String age) this.age = age;
AccountActivity中从火力基地获取数据的方法
for (DataSnapshot ds : dataSnapshot.getChildren())
User user = new User();
user.setFullName(ds.child(userId).getValue(User.class).getFullName());
user.setEmail(ds.child(userId).getValue(User.class).getEmail());
user.setAge(ds.child(userId).getValue(User.class).getAge());
user.setGender(ds.child(userId).getValue(User.class).getGender());
user.setWeight(ds.child(userId).getValue(User.class).getWeight());
user.setHeight(ds.child(userId).getValue(User.class).getHeight());
userName.setText(user.getFullName());
userEmail.setText("Email: " + user.getEmail());
userAge.setText("Age: " + user.getAge());
userGender.setText("Gender: " +user.getGender());
userWeight.setText("Weight: " + user.getWeight());
userHeight.setText("Height: " + user.getHeight());
UpdateProfileActivity:
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
showData(dataSnapshot);
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
);
saveChanges.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
String name = newName.getText().toString();
String email = newEmail.getText().toString();
String age = newAge.getText().toString();
String gender = newGender.getText().toString();
String weight = newWeight.getText().toString();
String height = newHeight.getText().toString();
User updateUser = new User(name,email,age,gender,weight,height);
databaseReference.setValue(updateUser);
finish();
);
@SuppressLint("SetTextI18n")
private void showData(DataSnapshot dataSnapshot)
for (DataSnapshot ds : dataSnapshot.getChildren())
User user = new User();
user.setFullName(ds.child(userId).getValue(User.class).getFullName());
user.setEmail(ds.child(userId).getValue(User.class).getEmail());
user.setAge(ds.child(userId).getValue(User.class).getAge());
user.setGender(ds.child(userId).getValue(User.class).getGender());
user.setWeight(ds.child(userId).getValue(User.class).getWeight());
user.setHeight(ds.child(userId).getValue(User.class).getHeight());
newName.setText(user.getFullName());
newEmail.setText(user.getEmail());
newAge.setText(user.getAge());
newGender.setText(user.getGender());
newWeight.setText( user.getWeight());
newHeight.setText( user.getHeight());
我希望再次激活Register Activity,我的意思是,当我尝试访问它时,该应用应打开Register表单,并且该表单应该可以运行,并且我希望能够从Firebase检索数据并更新数据。
这是我尝试访问注册表时得到的信息
2020-06-05 19:15:20.500 15446-15460/? E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist!
2020-06-05 19:15:20.501 15446-15446/? E/Minikin: Could not get cmap table size!
2020-06-05 19:15:20.394 15446-15465/? E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@a5b95aa
您可以提供日志吗?要有一个更好的主意,问题在哪里,NPE在哪里
以上是关于空活动为NullPointer异常-Android Studion,Java [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在使用ViewPager时尝试从其父活动修改片段时出现空指针异常
Android SQLite NullPointer 异常和堆栈溢出异常 [重复]
自定义抽屉适配器中 Inflater 上的 Nullpointer 异常