Recycler View项目添加

时间:2017-04-25 22:15:01

标签: java android android-recyclerview

我有一个recyclerview来显示来自api feed的数据,但是它添加了空行数据。我如何只添加所需的数据,如果不符合标准,不添加空行?

这是我的数据适配器:

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

    private ArrayList<Included> includedData;
    private Included matchDataIncluded;
    private Data matchData;


    public DataAdapter(ArrayList<Included> includedData) {
        this.includedData = includedData;
        this.matchDataIncluded = matchDataIncluded;
    }


    @Override
    public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int i) {

        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
        return new ViewHolder(view);
    }

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

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            if (Objects.equals(includedData.get(position).getType(), "competitions") && includedData.get(position).getId() != null) {
                holder.tvCompetitionName.setText(includedData.get(position).getAttributes().);
            }
        }


    }

    @Override
    public int getItemCount() {
        return includedData.size();
    }

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

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        private TextView tvCompetitionName;

        public ViewHolder(View itemView) {
            super(itemView);

            tvCompetitionName = (TextView) itemView.findViewById(R.id.competitionNameTV);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

看看这个,

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

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        if (Objects.equals(includedData.get(position).getType(), "competitions") && includedData.get(position).getId() != null) {
            holder.tvCompetitionName.setText(includedData.get(position).getAttributes().);
        }
    }


}

由于recyclerview的大小是&#34; includedData&#34;和OnBindViewHolder你把条件放到了你的空行,只需删除条件,就会显示数据。