安卓 java。调用模型类的函数时发生lang.NullPointerException
package com.india.shoping.Model;
public class Products {
private String Category,Img,Name,Price,date,description,pid,time;
public String getCategory() {
return Category;
}
public void setCategory(String category) {
Category = category;
}
public String getImg() {
return Img;
}
public void setImg(String img) {
Img = img;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getPrice() {
return Price;
}
public void setPrice(String price) {
Price = price;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Products() {
}
}
下面是我的ProductsDetailsActivity。爪哇
public class ProductsDetailsActivity extends AppCompatActivity {
private FloatingActionButton addtocartbtn;
private ElegantNumberButton elegantNumberButton;
private TextView productname,productprice,productdescription;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_products_details);
elegantNumberButton=findViewById(R.id.elegant_btn);
productname=findViewById(R.id.product_name);
productprice=findViewById(R.id.product_price);
productdescription=findViewById(R.id.product_description);
addtocartbtn=findViewById(R.id.add_product_cart);
getIntent();
String productid=getIntent().getStringExtra("pid");
getProductdetails(productid);
}
private void getProductdetails(String productid) {
DatabaseReference productref= FirebaseDatabase.getInstance().getReference().child("Products");
productref.child(productid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
Products products=dataSnapshot.getValue(Products.class);
productname.setText(products.getName());
productprice.setText(products.getPrice());
productdescription.setText(products.getDescription());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.india.shoping, PID: 12269
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.india.shoping/com.india.shoping.ProductsDetailsActivity}: java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:3121)
at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264)
at 安卓.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at 安卓.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at 安卓.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
at 安卓.os.Handler.dispatchMessage(Handler.java:106)
at 安卓.os.Looper.loop(Looper.java:214)
at 安卓.app.ActivityThread.main(ActivityThread.java:7078)
at java.lang.reflect.Method.invoke(Native Method)
at com.安卓.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:974)
Caused by: java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
at com.google.firebase.database.DatabaseReference.child(com.google.firebase:firebase-database@@17.0.0:101)
at com.india.shoping.ProductsDetailsActivity.getProductdetails(ProductsDetailsActivity.java:44)
at com.india.shoping.ProductsDetailsActivity.onCreate(ProductsDetailsActivity.java:38)
at 安卓.app.Activity.performCreate(Activity.java:7327)
at 安卓.app.Activity.performCreate(Activity.java:7318)
at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:3101)
at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264)
at 安卓.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at 安卓.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at 安卓.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
at 安卓.os.Handler.dispatchMessage(Handler.java:106)
at 安卓.os.Looper.loop(Looper.java:214)
at 安卓.app.ActivityThread.main(ActivityThread.java:7078)
at java.lang.reflect.Method.invoke(Native Method)
at com.安卓.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:974)
I/进程:发送信号。PID:12269信号:9 过程12269终止
每当我想使用模型类的方法时,我都会得到这个空指针验证。请帮我解决我的问题。 很抱歉没有正确指定问题,这是我在堆栈上的第一个问题
共 (0) 个答案