我嘗試在我的應(yīng)用程序上顯示客戶個人資料,但是當(dāng)我單擊個人資料按鈕(個人資料頁面)時,這些代碼行會使應(yīng)用程序崩潰該錯誤表示嘗試在空對象引用上調(diào)用虛擬方法“void android.widget.EditText.setText(java.lang.CharSequence)”我的姓名和地址可以顯示,但不能顯示我的電子郵件和電話號碼,這很奇怪為什么會發(fā)生這樣的情況?我檢查我的數(shù)據(jù)庫,它包含數(shù)據(jù),我被困在這里如何解決我的問題,因為代碼無法讀取我的電子郵件和電話號碼,但可以準(zhǔn)備我的姓名和地址。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 回答

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗 獲得超10個贊
似乎您錯過了初始化EditTextfrom 布局。初始化后,嘗試對其執(zhí)行操作。
在手機上設(shè)置文本的操作是在該視圖初始化之前完成的。這就是它拋出錯誤的原因
空對象引用上的 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
提交
取消