首页 > 解决方案 > 回收站视图不显示任何东西

问题描述

我检查了几次,但我不明白为什么不显示项目它只是显示用于回收站视图的空白空间我在每个地方都使用了日志方法,每件事在日志中都是正常的,但我无法得到结果,这是我的主要活动我调用了适配器并在其中构建了我的数组列表并调用了 5 项

public class MainActivity extends AppCompatActivity   {
    private RecyclerView recyclerView ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        interviews();
    }

    private void interviews() {
        recyclerView =findViewById(R.id.rcl_orders);

        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        OrderAdapter orderAdapter =new OrderAdapter(this,getOrders());
        recyclerView.setAdapter(orderAdapter);
    }

    private ArrayList<Orders> getOrders(){
        ArrayList<Orders> orders = new ArrayList<>();
        orders.add(new Orders(1,1," NewYork City"));
        orders.add(new Orders(2,2,"Masochist"));
        orders.add(new Orders(3,1,"San francisco"));
        orders.add(new Orders(4,5,"pennsylvania"));
        orders.add(new Orders(5,3,"LosAngeles"));

        return orders;
    }

}

这是我的模型,我在这个类中建立了一个模型,并制作了 setter 和 getter,当我记录这些变量时,它们是完整且正确的

public class Orders {
    private int kind,count ;
    private String address;

    public Orders() {
    }

    public int getKind() {
        return kind;
    }

    public void setKind(int kind) {
        this.kind = kind;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Orders(int kind, int count, String address) {
        this.kind = kind;
        this.count = count;
        this.address = address;

    }
}

这是我的适配器

public class OrderAdapter extends RecyclerView.Adapter<OrderViewHolder> {

    private Context context;
    private ArrayList<Orders> orders;

    public OrderAdapter(Context context, ArrayList<Orders> orders) {
        this.context=context;
        this.orders=orders;
    }


    @Override
    public OrderViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.ordercity,null);
        OrderViewHolder orderViewHolder =new OrderViewHolder(view);
        return orderViewHolder;
    }

    @Override
    public void onBindViewHolder( OrderViewHolder holder, int position) {
        Orders order = orders.get(position);

        holder.textView.setText("set text ");
    }

    @Override
    public int getItemCount() {
        Log.i("MainActtivity","value"+ orders.size());
        return (orders == null ? 0 : orders.size());
    }
}

这是我的观点持有者

public class OrderViewHolder extends RecyclerView.ViewHolder {
    public TextView textView;
    public CheckBox Selected;
    public OrderViewHolder(View itemView) {
        super(itemView);
        textView=itemView.findViewById(R.id.txt_order);
        Selected=itemView.findViewById(R.id.chk_selected);
    }
}

请帮帮我!!!

标签: javaandroidandroid-recyclerview

解决方案


在您的适配器中更新如下

@Override
    public int getItemCount() {
        Log.i("MainActtivity","value"+ orders.size());
        return orders.size();
    }

推荐阅读