Android网格视图根据数据更改列数

Android网格视图根据数据更改列数,第1张

概述我想安排网格视图,如下图所示.解决方法:您需要在回收器适配器中区分viewType.DEMOHEREpublicclassRVStatisticAdapterextendsRecyclerView.Adapter<RecyclerView.ViewHolder>{privateList<Statistic>mList;publicRVStatisticAdapter(List<Statistic>list)


我想安排网格视图,如下图所示.

解决方法:

您需要在回收器适配器中区分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网格视图根据数据更改列数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存