有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 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) 个答案