0

Ошибка

Process: forsaj.app, PID: 15019
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
        at forsaj.app.ui.ZayavkiClientActivity$1.onBindViewHolder(ZayavkiClientActivity.java:53)
        at forsaj.app.ui.ZayavkiClientActivity$1.onBindViewHolder(ZayavkiClientActivity.java:50)

Проблемный метод

@Override
    protected void onStart() {
        super.onStart();
        FirebaseRecyclerOptions<OtvetShop> options=new FirebaseRecyclerOptions.Builder<OtvetShop>()
                .setQuery(ZayavkaRef, OtvetShop.class).build();
        FirebaseRecyclerAdapter<OtvetShop, OtvetShopHolder> adapter=new FirebaseRecyclerAdapter<OtvetShop, OtvetShopHolder>(options) {
            @Override
            protected void onBindViewHolder( @androidx.annotation.NonNull OtvetShopHolder holder, int position,  @androidx.annotation.NonNull OtvetShop model) {
                holder.txt_tovarname.setText(model.getTovarname());
                holder.txt_tovarprice.setText(model.getTovarprice());
               holder.txt_shopadress.setText(model.getMagazadress());
                Picasso.get().load(model.getImage()).into(holder.image_tovar_shop);
            }
        @Override
        public OtvetShopHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.item_shop,parent,false);
      OtvetShopHolder holder=new OtvetShopHolder(view);


            return holder;
        }
    };
    recyclerView.setAdapter(adapter);
    adapter.startListening();
}

}

OtvetShopHolder

    public ItemShopClickLIstner lIstner;
    public TextView txt_tovarname,txt_tovarprice,txt_shopadress;
public ImageView image_tovar_shop;
public AppCompatButton button_no_shop,button_yes_shop;
public OtvetShopHolder(View itemView){
    super(itemView);

    txt_shopadress=itemView.findViewById(R.id.text_shop_adress);
    txt_tovarname=itemView.findViewById(R.id.text_tovar_name);
    txt_tovarprice=itemView.findViewById(R.id.text_tovar_price);
    image_tovar_shop=itemView.findViewById(R.id.image_tovar_shop);

image_tovar_shop=itemView.findViewById(R.id.image_tovar_shop);

}
public void setItemShopClickListner(ItemShopClickLIstner listner){this.lIstner=listner;}


@Override
public void onClick(View view){
    lIstner.onClick(view,getAdapterPosition(),false);
}

}

OtvetShop(Adapter)

public class OtvetShop {
    private String tovarname,tovarprice,magazadress,productId,date,time,image;
   public OtvetShop(){
}

public OtvetShop(String tovarname, String tovarprice, String magazadress, String productId, String date, String time, String image) {
    this.tovarname = tovarname;
    this.tovarprice = tovarprice;
    this.magazadress = magazadress;
    this.productId = productId;
    this.date = date;
    this.time = time;
    this.image = image;
}

public String getTovarname() {
    return tovarname;
}

public void setTovarname(String tovarname) {
    this.tovarname = tovarname;
}

public String getTovarprice() {
    return tovarprice;
}

public void setTovarprice(String tovarprice) {
    this.tovarprice = tovarprice;
}

public String getMagazadress() {
    return magazadress;
}

public void setMagazadress(String magazadress) {
    this.magazadress = magazadress;
}

public String getProductId() {
    return productId;
}

public void setProductId(String productId) {
    this.productId = productId;
}

public String getDate() {
    return date;
}

public void setDate(String date) {
    this.date = date;
}

public String getTime() {
    return time;
}

public void setTime(String time) {
    this.time = time;
}

public String getImage() {
    return image;
}

public void setImage(String image) {
    this.image = image;
}

}

ItemShopClickLIstner

public interface ItemShopClickLIstner {
    void onClick(View view, int position, boolean isLongClick);
}

Метод отправуи

private void SaveProductInfoToDatabase() {
        Log.d("Arthur",DownloadImageUrl);
        HashMap<String, Object> OtvetMap = new HashMap<>();
        OtvetMap.put("tovarname", tovarname);
        OtvetMap.put("tovarprice", tovarprice);
        OtvetMap.put("magazadress", magazadress);

OtvetMap.put("image",DownloadImageUrl); OtvetMap.put("productId", OtvetRandomKey); OtvetMap.put("date", SaveCurrentDate); OtvetMap.put("time", SaveCurrentTime);

    otvetRef.child(OtvetRandomKey).updateChildren(OtvetMap).addOnCompleteListener(new OnCompleteListener&lt;Void&gt;() {
        @Override
        public void onComplete(@NonNull Task&lt;Void&gt; task) {
            if (task.isSuccessful()) {
                progressDialog.dismiss();
                Toast.makeText(OtvetShopsClientActivity.this, &quot;Ответ отправлен&quot;, Toast.LENGTH_SHORT).show();
                mediaPlayerTwo.start();

            } else {
                progressDialog.dismiss();
                String message = task.getException().toString();
                Toast.makeText(OtvetShopsClientActivity.this, &quot;Ошибка&quot; + message, Toast.LENGTH_SHORT).show();
            }
        }
    });
    ////сохранение заявки в базе данных конец////


}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode==GALLERYPICK&amp;&amp;resultCode==RESULT_OK&amp;&amp;data !=null){
        ImageUri=data.getData();
      image_otvet_clientu_photo.setImageURI(ImageUri);
    }

}

}


Стринги используемые в данном методе

private String tovarname,tovarprice,magazadress,SaveCurrentDate,SaveCurrentTime,OtvetRandomKey;
private String DownloadImageUrl;

Почему так происходит если все инициализировано?

0 Answers0