为什么我得到这个空引用对象?

我尝试在我的应用程序上显示客户个人资料,但是当我单击个人资料按钮(个人资料页面)时,这些代码行会使应用程序崩溃

该错误表示尝试在空对象引用上调用虚拟方法“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) {


            }

        });


温温酱
浏览 111回答 2
2回答

森栏

你必须初始化这些视图电子邮件、电话所以 onCreate 通过 id 查找视图来初始化该视图

不负相思意

似乎您错过了初始化EditTextfrom 布局。初始化后,尝试对其执行操作。在手机上设置文本的操作是在该视图初始化之前完成的。这就是它抛出错误的原因空对象引用上的 void android.widget.EditText.setText(java.lang.CharSequence)'public class CustProfileActivity extends AppCompatActivity { ...// ... means rest of your code@Overrideprotected void onCreate(Bundle savedInstanceState) { ...  // missed to initialize phone & email  phone = findViewById(R.id.phone);  email = findViewById(R.id.email); ... }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java