Android 列表中未显示数据

Android 列表中未显示数据,android,Android,我正在尝试将数据设置到我的recyclerView中,但无法将数据设置到列表中。当我调试时,它正在执行语句,并且在logcat中找到值。但是,当我运行时,在列表中找不到它。我试了很多。谁能帮忙吗。这就是我所做的 适配器1 SelectedAdditionalItemsAdapter adapter = new SelectedAdditionalItemsAdapter(activity, row.getAdditionalItems(), row); recyc

我正在尝试将数据设置到我的
recyclerView
中,但无法将数据设置到列表中。当我调试时,它正在执行语句,并且在logcat中找到值。但是,当我运行时,在列表中找不到它。我试了很多。谁能帮忙吗。这就是我所做的

适配器1

SelectedAdditionalItemsAdapter adapter = new SelectedAdditionalItemsAdapter(activity, row.getAdditionalItems(), row);
                recyclerView.setAdapter(adapter);
         adapter.setData(row.getAdditionalItems());
选择的附加项目适配器

public class SelectedAdditionalItemsAdapter extends RecyclerView.Adapter<SelectedAdditionalItemsAdapter.ViewHolder> {

private List<Product> rows = new ArrayList<>();

        Context context;
private OrderItem orderItem;


private Activity activity;

public OnOrderItemDeleteListner onOrderItemDeleteListner;



public SelectedAdditionalItemsAdapter(Context context,List<Product> rows,OrderItem orderItem) {
        this.context = context;
        this.activity = (Activity) context;
        this.rows=rows;
        this.orderItem=orderItem;
        }

public SelectedAdditionalItemsAdapter(){

        }

public Product getItem(int position) {
        try {
        return rows.get(position);
        } catch (Exception e) {
        return null;
        }
        }

public void setData(List<Product> rows) {
        this.rows = rows;
        notifyDataSetChanged();

        }

@Override
public long getItemId(int position) {
        return position;
        }


@Override
public SelectedAdditionalItemsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int position) {


        return new SelectedAdditionalItemsAdapter.ViewHolder(LayoutInflater.from(parent.getContext())
        .inflate(R.layout.additional_item_cell, parent, false));
        }

@Override
public void onBindViewHolder(SelectedAdditionalItemsAdapter.ViewHolder holder, int position) {

        Product row = getItem(position);

        holder.bindVehicle(row, position);

        }

@Override
public int getItemCount() {
        try {
        return rows.size();
        } catch (NullPointerException e) {
        return 0;
        }
        }

private void removeItem(int position) {
        try {
        this.rows.remove(position);
        }catch (Exception e) {

        }
        notifyDataSetChanged();
        }

class ViewHolder extends RecyclerView.ViewHolder  {

    TextView title, remarkView, quantityView, priceView;
    ImageView deleteButton;
    CircularNetworkImageView imageView;
    private Product row;

    ViewHolder(View view) {
        super(view);

        title = (TextView) view.findViewById(R.id.title_view);
        remarkView = (TextView) view.findViewById(R.id.remark_view);
        imageView = (CircularNetworkImageView) view.findViewById(R.id.image_view);
        quantityView = (TextView) view.findViewById(R.id.quantity_view);
        priceView = (TextView) view.findViewById(R.id.price_view);
        deleteButton = (ImageView) view.findViewById(R.id.delete_button);

    }
        public void bindVehicle(final Product row, final int position) {

        deleteButton.setTag(position);///added


        this.row = row;
        deleteButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                         orderItem.removeProduct(row);
                    removeItem(position);
                    notifyDataSetChanged();



            }

        });

        try {
            this.title.setText(row.getName());
            if(row.getDescription() != null && row.getDescription().length() > 0) {
                remarkView.setText(row.getDescription());
                remarkView.setVisibility(View.VISIBLE);
            }else{
                remarkView.setVisibility(View.GONE);
            }
            String title = row.getName();
            imageView.setImageUrl(null, RequestQueue.getImageLoader());
            ColorGenerator generator = ColorGenerator.MATERIAL;
            int color = generator.getColor(title);

            try {
                if(title.length() > 0) {
                    TextDrawable drawable2 = TextDrawable.builder()
                            .buildRound(title.substring(0, 1), color);
                    imageView.setImageDrawable(drawable2);
                }
            }catch (NullPointerException e) {
          }
quantityView.setText(Integer.toString((int)row.getQuantity()));
            priceView.setText(row.getPriceForUnitToDisplay());    
        } catch (NullPointerException e) {
            e.printStackTrace();
        }}}

public interface OnOrderItemDeleteListner {
    void onDeleteItem();
}}

如果
parent.getContext()
用于膨胀布局,请使用
context

改变这个

 return new SelectedAdditionalItemsAdapter.ViewHolder(LayoutInflater.from(parent.getContext())
        .inflate(R.layout.additional_item_cell, parent, false));

还将layoutManager设置为
RecyclerView

RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(mLayoutManager);

希望这会有所帮助。

分享
活动和适配器代码的相关部分
adapter.setData
的具体功能是什么?我在适配器中调用了SelectedAdditionalItemsDaper。我将适配器调用到一个活动中。我应该贴什么。好心的help@NavneetKrishnashare为
SelectedAdditionalItemsAdapter.java
编码,以及您试图传递到适配器的列表(可能是数组列表)是什么posted@NavneetKrishnaThankyou谢谢你的帮助。我试过了,但没有working@Faysal谢谢你…非常感谢。。我明白了……但有一个问题。我只能设置一个value@Faysal艾哈迈德,你能帮忙吗?我也很乐意帮你。请检查您从
row.getAdditionalItems()
this中获得了多少数据。我得到的数据为2。但列表仅显示1@Faysal艾哈迈德
 return new SelectedAdditionalItemsAdapter.ViewHolder(LayoutInflater.from(context)
        .inflate(R.layout.additional_item_cell, parent, false));
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(mLayoutManager);