前言

当你要将某个从数据库或者文件中获得相当大的数据,在界面中向用户展示的时候,由于定义一个个视图比较麻烦,Android中提供了类似于数组的控件�CListView。

使用方法:

假设我们要转的数据是一个Person对象数组

package cn.zhuangzhihuang.mylist;public class Person { private String name; private String tel;   public Person(String name, String tel) { super(); this.name = name; this.tel = tel; }   public String getName() { return name; }  public void setName(String name) { this.name = name; }  public String getTel() { return tel; }  public void setTel(String tel) { this.tel = tel; }  public String toString() { return "点击的联系人为" + this.getName() +"\n电话号码为" + this.getTel(); } }
Person[] DB = {     new Person("张三","18555555555"),     new Person("李四","18555555556"),     new Person("王五","18555555557"),     new Person("赵六","18555555558"),     new Person("邓七","18555555559")            };    List friend_List;    friend_List = new ArrayList();for(int i=0;i    

1、首先,你需要在xml中加入一个listview控件:

2、接着你需要创建一个适配器MyAdapter类,这个适配器的作用时将你要展示的数据转成可见格式也就时View。

class MyAdapter extends BaseAdapter { @Override public int getCount() { //返回表的长度  // TODO Auto-generated method stub  return friend_List.size(); } @Override public Object getItem(int position) { //返回表的index位置的元组  // TODO Auto-generated method stub  return friend_List.get(position);  } @Override public long getItemId(int position) {  // TODO Auto-generated method stub  return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { //就像等到一个对象数组的某一个元素  // TODO Auto-generated method stub  View view = View.inflate(MainActivity.this, R.layout.item, null);  TextView tv_item_name = (TextView) view.findViewById(R.id.tv_item_name);  TextView tv_item_tel = (TextView) view.findViewById(R.id.tv_item_tel);  tv_item_name.setText(friend_List.get(position).getName());  tv_item_tel.setText(friend_List.get(position).getTel());  return view;  //初始化这个listview会调用到这个方法,因为要把传进去的对象数组的每个元素转成view加入到listview中 }     }

3、然后要在xml中写下你要转成的view的模板

<?xml version="1.0" encoding="utf-8"?>        

4、最后在MainActivity中把listview的适配器设置一下。调用setAdapter这个方法

data_view.setAdapter(myAdapter);

Android代码:
xml:

                              

MainActivity:

package cn.zhuangzhihuang.mylist;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity { List friend_List;   @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        ListView data_view = (ListView) findViewById(R.id.data_view);        Person[] DB = {     new Person("张三","18555555555"),     new Person("李四","18555555556"),     new Person("王五","18555555557"),     new Person("赵六","18555555558"),     new Person("邓七","18555555559")            };        friend_List = new ArrayList();    for(int i=0;i parent, View view,   int position, long id) {  // TODO Auto-generated method stub  String temp = friend_List.get((int)id).toString();    Toast.makeText(MainActivity.this, temp, 0).show();    } });  }    class MyAdapter extends BaseAdapter { @Override public int getCount() { //返回表的长度  // TODO Auto-generated method stub  return friend_List.size(); } @Override public Object getItem(int position) { //返回表的index位置的元组  // TODO Auto-generated method stub  return friend_List.get(position);  } @Override public long getItemId(int position) {  // TODO Auto-generated method stub  return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { //就像等到一个对象数组的某一个元素  // TODO Auto-generated method stub  View view = View.inflate(MainActivity.this, R.layout.item, null);  TextView tv_item_name = (TextView) view.findViewById(R.id.tv_item_name);  TextView tv_item_tel = (TextView) view.findViewById(R.id.tv_item_tel);  tv_item_name.setText(friend_List.get(position).getName());  tv_item_tel.setText(friend_List.get(position).getTel());  return view;  //初始化这个listview会调用到这个方法,因为要把传进去的对象数组的每个元素转成view加入到listview中 }     }}

效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用
  2. Android(安卓)WebView安全研究
  3. Android(安卓)让你的SeekBar 也支持长按事件
  4. Android(安卓)对话框 (三)自定义对话框
  5. Android(安卓)在activity之间传递对象
  6. Adapter适配器的基本使用
  7. Android(安卓)利用HttpURLConnection对象和Internet交互
  8. Android(安卓)Application
  9. Android(安卓)通过 Intent 传递类对象

随机推荐

  1. Android存储选项简析
  2. ViewPager的基本使用
  3. What is Migrate Android(安卓)Code?
  4. Android 8.0 学习(4)---Android通用内核
  5. Android绘图之XML绘图
  6. Android高人必修 Ant 编译Android工程
  7. 微信在Github开源了Hardcoder,对Android开
  8. Android开发实践:线程与异步任务
  9. The connection to adb is down, and a s
  10. android简单应用(一)