我想安排网格视图,如下图所示.
解决方法:
您需要在回收器适配器中区分vIEwType.
DEMO HERE
public class RvstatisticAdapter extends RecyclerVIEw.Adapter<RecyclerVIEw.VIEwHolder> { private List<Statistic> mList; public RvstatisticAdapter(List<Statistic> List) { this.mList = List; } @OverrIDe public RecyclerVIEw.VIEwHolder onCreateVIEwHolder(VIEwGroup parent, int vIEwType) { VIEw vIEw; switch (vIEwType) { case CITY_TYPE: vIEw = LayoutInflater.from(parent.getContext()).inflate(R.layout.statistic_row_one, parent, false); return new CityVIEwHolder(vIEw); case EVENT_TYPE: vIEw = LayoutInflater.from(parent.getContext()).inflate(R.layout.statistic_row_two, parent, false); return new EventVIEwHolder(vIEw); } return null; } @OverrIDe public voID onBindVIEwHolder(RecyclerVIEw.VIEwHolder holder, int position) { Statistic object = mList.get(position); if (object != null) { switch (object.getType()) { case CITY_TYPE: ((CityVIEwHolder) holder).mTitle.setText(object.getTitle()); ((CityVIEwHolder) holder).no.setText(object.getNo()); ((CityVIEwHolder) holder).playerone.setText(object.getPlayer_one()); break; case EVENT_TYPE: ((EventVIEwHolder) holder).mTitle.setText(object.getTitle()); ((EventVIEwHolder) holder).no.setText(object.getNo()); ((EventVIEwHolder) holder).playerone.setText(object.getname()); ((EventVIEwHolder) holder).playertwo.setText(object.getPlayer_two()); break; } } } @OverrIDe public int getItemCount() { if (mList == null) return 0; return mList.size(); } @OverrIDe public int getItemVIEwType(int position) { if (mList != null) { Statistic object = mList.get(position); if (object != null) { return object.getType(); } } return 0; } public static class CityVIEwHolder extends RecyclerVIEw.VIEwHolder { private TextVIEw mTitle,no,playerone; public CityVIEwHolder(VIEw itemVIEw) { super(itemVIEw); mTitle = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_Title); no = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_no); playerone = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_player_one); } } public static class EventVIEwHolder extends RecyclerVIEw.VIEwHolder { private TextVIEw mTitle,no,playerone,playertwo; public EventVIEwHolder(VIEw itemVIEw) { super(itemVIEw); mTitle = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_Title); no = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_no); playerone = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_player_one); playertwo = (TextVIEw) itemVIEw.findVIEwByID(R.ID.tv_player_two); } }}
总结 以上是内存溢出为你收集整理的Android网格视图根据数据更改列数全部内容,希望文章能够帮你解决Android网格视图根据数据更改列数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)