我尝试在我的应用程序上显示客户个人资料,但是当我单击个人资料按钮(个人资料页面)时,这些代码行会使应用程序崩溃该错误表示尝试在空对象引用上调用虚拟方法“void android.widget.EditText.setText(java.lang.CharSequence)”我的姓名和地址可以显示,但不能显示我的电子邮件和电话号码,这很奇怪为什么会发生这样的情况?我检查我的数据库,它包含数据,我被困在这里如何解决我的问题,因为代码无法读取我的电子邮件和电话号码,但可以准备我的姓名和地址。public class CustProfileActivity extends AppCompatActivity { TextView email; EditText name, address, phone; Button update; DatabaseReference databaseReference; FirebaseAuth firebaseAuth; String userId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cust_profile2); name = findViewById(R.id.name); address = findViewById(R.id.address); update = findViewById(R.id.update); databaseReference = FirebaseDatabase.getInstance().getReference("Customer").child(""); firebaseAuth = FirebaseAuth.getInstance(); userId = firebaseAuth.getUid(); databaseReference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { Customer cust = dataSnapshot.child(userId).getValue(Customer.class); name.setText(cust.name); address.setText(cust.home_address); phone.setText(cust.telephone_number); email.setText(cust.email); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });
2 回答
不负相思意
TA贡献1777条经验 获得超10个赞
似乎您错过了初始化EditTextfrom 布局。初始化后,尝试对其执行操作。
在手机上设置文本的操作是在该视图初始化之前完成的。这就是它抛出错误的原因
空对象引用上的 void android.widget.EditText.setText(java.lang.CharSequence)'
public class CustProfileActivity extends AppCompatActivity {
...// ... means rest of your code
@Override
protected void onCreate(Bundle savedInstanceState) {
...
// missed to initialize phone & email
phone = findViewById(R.id.phone);
email = findViewById(R.id.email);
...
}
}
添加回答
举报
0/150
提交
取消