ListView多条目的展示

这里呢给大家分享的是ListView多条目的展示

因为加的是死数据(自己打的数据)

所以没有多条目的类型,手动我分一下,分为三种类型(代码里实现三种类型)


在MainActivity中:

public class MainActivity extends AppCompatActivity {


    //设置三种类型,对应我三种不同类型的Item,数字随意生成,主要是为了区分
    private static final int FristType = 0;

    private static final int TwoType = 1;

    private static final int ThreeType = 2;


    String[] texts = {"玉皇", "王母", "长蛾", "八戒", "如来", "易宸锋", "守星者", "部长", "大师", "收藏家"};

    private int[] images = {R.drawable.jx_left_listitem_1, R.drawable.jx_left_listitem_5,
            R.drawable.jx_left_listitem_2, R.drawable.jx_left_listitem_3,
            R.drawable.jx_left_listitem_4, R.drawable.jx_left_listitem_5,
            R.drawable.jx_left_listitem_6, R.drawable.jx_left_listitem_6,
            R.drawable.jx_left_listitem_4, R.drawable.jx_left_listitem_5};

    private List<DataBean> list;

    private ListView mListView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化数据
        initData();
        //查找控件
        mListView = (ListView) findViewById(R.id.lv);
        //设置适配器
        mListView.setAdapter(new MyApdapter());

    }

    /**
     * 这里是因为没有多条目的类型,手动我分一下,分为三种类型
     */
    private void initData() {
        list=new ArrayList<DataBean>();

        for(int x=0; x<10; x++){
            DataBean data = new DataBean();
            //第一种类型的数据,也就是2等等,去展示一个类型
            if ( x%2 == 0){
                data.setType(FristType);
                data.setText(texts[x]);
                System.out.println(texts[x]);

            }//第二种类型的数据
            else if ( x %3 ==0){
                data.setType(TwoType);
                data.setText(texts[x]);
                data.setImages(images[x]);

            }//第三种类型的数据
            else {
                data.setType(ThreeType);
                data.setText(texts[x]);
                data.setImages(images[x]);
            }
            list.add(data);
        }

    }

    private class MyApdapter extends BaseAdapter{
        @Override
        public int getCount() {
            return 0;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            return null;
        }

        @Override
        public Object getItem(int i) {
            return null;
        }

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

设置数据类型的DataBean中:

public class DataBean {

    //设置类型
    private int type;

    //文本数据
    private String text;

    //图片数据
    private int images;

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public int getImages() {
        return images;
    }

    public void setImages(int images) {
        this.images = images;
    }




}


布局文件activity_main中:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.sn.listview.MainActivity">


    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

</RelativeLayout>

好了,以上就这么多代码就能简单的实现是一个ListView多条目的效果啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值