亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我得到這個空引用對象?

為什么我得到這個空引用對象?

溫溫醬 2023-11-10 15:43:14
我嘗試在我的應用程序上顯示客戶個人資料,但是當我單擊個人資料按鈕(個人資料頁面)時,這些代碼行會使應用程序崩潰該錯誤表示嘗試在空對象引用上調用虛擬方法“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貢獻1810條經驗 獲得超5個贊

你必須初始化這些視圖電子郵件、電話

所以 onCreate 通過 id 查找視圖來初始化該視圖


查看完整回答
反對 回復 2023-11-10
?
不負相思意

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);

 ...

 }

}


查看完整回答
反對 回復 2023-11-10
  • 2 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號