转:
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的简单使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)