Android开发——ListView的简单使用

Android开发——ListView的简单使用,第1张

概述转:Android开发——ListView的简单使用一、自定义一个Friend类,用于对应ListView的每一基本数据项Friend.javapublicclassFriend{privateStringname;//名称privateinticon;//头像privateStringdescription;//描述//初始花化数据pub

转:

Android开发——ListView的简单使用

一、自定义一个FrIEnd类,用于对应ListVIEw的每一基本数据项

FrIEnd.java

public class FrIEnd {    private String name; //名称    private int icon; //头像    private String description; // 描述    //初始花化数据    public FrIEnd(String n, int ic, String des){        name = n;        icon = ic;        description = des;    }    //获取数据的三个函数    public String getname() {        return name;    }    public int getIcon() {        return icon;    }    public String getDescription() {        return description;    }}

二、自定义一个布局文件来存储每一项数据的UI

item_frIEnd_layout.xml

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:orIEntation="horizontal"    androID:layout_wIDth="match_parent"    androID:layout_height="wrap_content"    androID:padding="5dp"    >    <ImageVIEw        androID:ID="@+ID/item_im_icon"        androID:layout_wIDth="60dp"        androID:layout_height="60dp"        androID:src="@drawable/head_1"        androID:adjustVIEwBounds="true"        androID:scaleType="fitXY"        />    <linearLayout        androID:layout_wIDth="0dp"        androID:layout_height="match_parent"        androID:layout_weight="1"        androID:orIEntation="vertical"        androID:paddingleft="10dp">        <TextVIEw            androID:ID="@+ID/item_tv_name"            androID:layout_wIDth="match_parent"            androID:layout_height="0dp"            androID:layout_weight="1"            androID:textcolor="#000"            androID:text="张三"            androID:textSize="25sp"            androID:gravity="center_vertical"            />        <TextVIEw            androID:ID="@+ID/item_tv_des"            androID:layout_wIDth="match_parent"            androID:layout_height="0dp"            androID:layout_weight="1"            androID:text="我是张三"            androID:textSize="20sp"            androID:gravity="center_vertical"/>    linearLayout>linearLayout>

效果显示


三、自定义一个Adapter, 继承自BaseAdapter,并绑定item_frIEnd_layout.xml布局

FreIEndAdapter.java

public class FrIEndAdapter extends BaseAdapter {    private List<FrIEnd> data; //frIEnd数据    private Context context;    private LayoutInflater layoutInflater;    //初始化数据,并获取主窗口的context,获取frIEnd数据,之后获取context的布局服务    public FrIEndAdapter(Context context, List<FrIEnd> data) {        this.data = data;        this.context = context;        layoutInflater = LayoutInflater.from(context);    }    //获取frIEnd的数目    @OverrIDe    public int getCount() {        return data.size();    }    //获取第i个frIEnd的数据    @OverrIDe    public FrIEnd getItem(int i) {        return data.get(i);    }    //获取第i个frIEnd的ID    @OverrIDe    public long getItemID(int i) {        return i;    }    //设置每一项frIEnd item的UI    @OverrIDe    public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup vIEwGroup) {        convertVIEw = layoutInflater.inflate(R.layout.item_frIEnd_layout,null); //加载item布局        //获取item布局的子控件,将frIEnd的数据设置到控件上        TextVIEw textVIEw = (TextVIEw) convertVIEw.findVIEwByID(R.ID.item_tv_name);        textVIEw.setText((String)data.get(position).getname()); //设置名称        ImageVIEw imageVIEw = (ImageVIEw)convertVIEw.findVIEwByID(R.ID.item_im_icon);        imageVIEw.setimageResource(data.get(position).getIcon()); //设置图片        TextVIEw textVIEw1 = (TextVIEw)convertVIEw.findVIEwByID(R.ID.item_tv_des);        textVIEw1.setText((String)data.get(position).getDescription()); //设置描述        return  convertVIEw;    }}

四、在MainActivity.java设置ListVIEw1、在主布局里面添加ListVIEw控件

activity_main.xml

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical">    <ListVIEw        androID:ID="@+ID/lv_1"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"/>linearLayout>
2、设置ListVIEw控件

MainActivit.java

public class MainActivity extends AppCompatActivity {    private ListVIEw ListVIEw;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        ListVIEw = (ListVIEw)findVIEwByID(R.ID.lv_1);        setListVIEw();    }    //设置ListVIEw    private voID setListVIEw(){        //设置ListVIEw内容        FrIEndAdapter frIEndAdapter = new FrIEndAdapter(this,getData());        ListVIEw.setAdapter(frIEndAdapter);        //设置ListVIEw点击事件        ListVIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() {            @OverrIDe            public voID onItemClick(AdapterVIEw<?> adapterVIEw, VIEw vIEw, int i, long l) {                Toast.makeText(MainActivity.this,((FrIEndAdapter)ListVIEw.getAdapter()).getItem(i).getname() + ": " +                        ""+((FrIEndAdapter)ListVIEw.getAdapter()).getItem(i).getDescription(), Toast.LENGTH_SHORT).show();            }        });    }    //获取列表内部的frIEnd数据    private List<FrIEnd> getData(){        List<FrIEnd> data = new ArrayList<FrIEnd>();        for(int i = 0; i<10;i++){            //根据图片名称获取图片ID            int ID = getResources().getIDentifIEr("head_"+i%4,"drawable",getPackagename());            data.add(new FrIEnd("用户"+i,ID,"我是用户"+i));        }        return data;    }}

五、效果显示

转:

Android开发——ListView的简单使用

总结

以上是内存溢出为你收集整理的Android开发——ListView的简单使用全部内容,希望文章能够帮你解决Android开发——ListView的简单使用所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存