Проблема: Невозможно преобразовать объект типа java.lang.String в тип - PullRequest
0 голосов
/ 16 мая 2019

У меня проблема с запуском этой части моего приложения, я использую recyclerwiew с его адаптером внутри этого действия, но возникает эта ошибка: Невозможно преобразовать объект типа java.lang.String в тип. Я использовал один и тот же код много раз, и он всегда работал для меня, я не знаю, что происходит.

enter image description here

Часть проблемы:

homeModelList = new ArrayList<>();

    mDatabaseRef = FirebaseDatabase.getInstance().getReference("Listas").child(post.getLid());
    Toast.makeText(ProductListActivity.this, post.getLid(), Toast.LENGTH_SHORT).show();
    mDatabaseRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            homeModelList.clear();
            for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                HomeModel homeModel = snapshot.getValue(HomeModel.class);
                    if (post.getLid().equals(post.getUidL())){
                        homeModelList.add(homeModel);
                    }
            }

            mAdapter = new ProductoAdapter(getApplicationContext(), homeModelList);
            recycler_viewLista.setAdapter(mAdapter);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });

Класс:

import java.io.Serializable;

public class HomeModel implements Serializable {
    private String Titulo;
    private String Uid;
    private String Lid;
    private String Producto;
    private Integer Cantidad;
    private String UidL;

    public HomeModel() {
    }

    public HomeModel(String titulo, String uid, String lid, String producto, Integer cantidad, String uidL) {
        Titulo = titulo;
        Uid = uid;
        Lid = lid;
        Producto = producto;
        Cantidad = cantidad;
        UidL = uidL;
    }

    public String getTitulo() {
        return Titulo;
    }

    public void setTitulo(String titulo) {
        Titulo = titulo;
    }

    public String getUid() {
        return Uid;
    }

    public void setUid(String uid) {
        Uid = uid;
    }

    public String getLid() {
        return Lid;
    }

    public void setLid(String lid) {
        Lid = lid;
    }

    public String getProducto() {
        return Producto;
    }

    public void setProducto(String producto) {
        Producto = producto;
    }

    public Integer getCantidad() {
        return Cantidad;
    }

    public void setCantidad(Integer cantidad) {
        Cantidad = cantidad;
    }

    public String getUidL() {
        return UidL;
    }

    public void setUidL(String uidL) {
        UidL = uidL;
    }
}

1 Ответ

0 голосов
/ 16 мая 2019

Измените следующее:

public void onDataChange(DataSnapshot dataSnapshot) {
 homeModelList.clear();
  for (DataSnapshot snapshot : dataSnapshot.getChildren()){
    HomeModel homeModel = snapshot.getValue(HomeModel.class);
      if (post.getLid().equals(post.getUidL())){
         homeModelList.add(homeModel);
     }
  }

в это:

public void onDataChange(DataSnapshot dataSnapshot) {
 homeModelList.clear();
    HomeModel homeModel = dataSnapshot.getValue(HomeModel.class);
      if (post.getLid().equals(post.getUidL())){
         homeModelList.add(homeModel);

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...