ListView在Android中有着很重要的作用。Android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。

背景

建了个Person类,里面有Name,Number,id,三个属性。

private String name;    private String number;    private int id;

主要用来向listView中添加信息的。

布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity"     android:orientation="vertical">    <ListView        android:id="@+id/lv"        android:layout_width="match_parent"        android:layout_height="match_parent"         /></LinearLayout>

直接放listview上去就OK了。

程序

private ListView lv;
private List<Person> list;

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        list = new ArrayList<Person>();        lv = (ListView) findViewById(R.id.lv);        addPerson();        lv.setAdapter(new MyAdapter());    }    private class MyAdapter extends BaseAdapter {        @Override        public int getCount() {            //返回大小            return list.size();        }        @Override        public Object getItem(int position) {            // TODO 自动生成的方法存根            return null;        }        @Override        public long getItemId(int position) {            // TODO 自动生成的方法存根            return 0;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            TextView tv = new TextView(getApplicationContext());            tv.setTextSize(50);            tv.setTextColor(Color.BLUE);            Person person = list.get(position);            tv.setText(person.toString());            System.out.println("返回位置"+position);            return tv        }    }    // 添加数据函数    private void addPerson() {        for (int i = 0; i < 20; i++) {            Person person1 = new Person("张三" + i, "12345678912", i);            list.add(person1);        }    }

要申明一个adapter,adapter里面放数据,然后listview通过setAdapter配置adapter。

----------------------------简单的分割线------------------------------------简单的---------------------------

如果需要自定义lixtview中当样式的话,可以仙剑一个布局item的布局。

item布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="60dip"    android:orientation="horizontal" >    <TextView        android:id="@+id/tv_id"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="5dip"        android:text="id"        android:textColor="#ff0000"        android:textSize="18sp" />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:gravity="center"        android:orientation="vertical" >                <TextView             android:id="@+id/tv_name"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="5dip"            android:text="名字"            android:textColor="#000000"            android:textSize="18sp"/>        <TextView             android:id="@+id/tv_phone"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="5dip"            android:text="电话"            android:textColor="#88000000"            android:textSize="16sp"/>    </LinearLayout></LinearLayout>

重新写一下adapter里面的getView方法:

getView

@Override        public View getView(int position, View convertView, ViewGroup parent) {            Person person = list.get(position);            View view = View.inflate(MainActivity.this, R.layout.listview_item, null);            //找id            TextView tv_id = (TextView) view.findViewById(R.id.tv_id);            tv_id.setText("id:"+person.getId());            TextView tv_name = (TextView) view.findViewById(R.id.tv_name);            tv_name.setText("tv_name:"+person.getName());            TextView tv_phone = (TextView) view.findViewById(R.id.tv_phone);            tv_phone.setText("tv_phone:"+person.getNumber());            return view;        }

我是天王盖地虎的分割线

源代码:http://pan.baidu.com/s/1dD1Qx01

listview学习.zip

转载请注明出处:http://www.cnblogs.com/yydcdut

更多相关文章

  1. Android项目结构和HelloWorld
  2. Android(安卓)Fragment 基本了解
  3. Android——自定义View(学习Android开发与艺术探索)
  4. Android(安卓)自定义弹性ListView控件实例代码(三种方法)
  5. Android开发学习笔记——对话框Dialog
  6. Android动态部署三:如何从插件apk中启动Activity(-)
  7. Android(安卓)Studio建立Socket连接失败解决方法
  8. 使用AIDL实现进程间的通信
  9. android 面试(一)

随机推荐

  1. JS中Object.freeze()与Const之间的区别[
  2. redis 6.0源码安装
  3. Ansible 之 ansible-doc模块文档说明
  4. 硬货来了!轻松掌握 MongDB 流式聚合操作
  5. JavaScript引擎是如何工作的?从调用栈到Pr
  6. WebSockets实战:在 Node 和 React 之间进
  7. 干货丨时序数据库DolphinDB横截面引擎教
  8. 一步步教你用 WebVR 实现虚拟现实游戏[每
  9. 用惰性加载优化 React 程序[每日前端夜话
  10. 聊聊我的 Java 自学之路