listview baseadapter
来源:互联网 发布:曼德拉效应 知乎 编辑:程序博客网 时间:2024/05/19 22:58
listview加载adapter过程是这样的.
1 先判断adapter 有多少数据项,根据这个数据确定有多少item.
2 确定每个item里加载哪个View.
3 把View里加载要显示的数据.
main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="123424312423142134" />
- <ListView android:id="@+id/list" android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
- </LinearLayout>
listView布局文件:item.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal" android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView android:id="@+id/name" android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <TextView android:id="@+id/sex" android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <TextView android:id="@+id/age" android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- </LinearLayout>
定义一个类,用来传值 People.java
- public class People {
- public String name;
- public String sex;
- public String age;
- }
定义适配器 MyAdapter.java
- package com.action;
- import java.util.ArrayList;
- import java.util.List;
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.TextView;
- /**
- *@Author: hilary
- *@Date: 2011-4-11
- **/
- public class MyAdapter extends BaseAdapter {
- private List<People> list = new ArrayList<People>();
- // private People people = new People();
- private Context context;
- public MyAdapter(Context context){
- this.context = context;
- }
- //适配器根据getCount()函数来确定要加载多少项
- @Override
- public int getCount() {
- return list.size();
- }
- @Override
- public Object getItem(int paramInt) {
- return list.get(paramInt);
- }
- @Override
- public long getItemId(int paramInt) {
- return paramInt;
- }
- /*
- * 当列表里的每一项显示到界面时,都会调用这个方法一次,并返回一个view 所以方法里面尽量要简单,不要做没必要的动作(non-Javadoc)
- * 我这里为了大家好理解,没有做优化
- */
- @Override
- public View getView(int paramInt, View paramView, ViewGroup paramViewGroup) {
- //得到列表样式的view对象
- paramView=LayoutInflater.from(context).inflate(R.layout.item, null);
- //通过view来得到Item中的每个控件的操作权
- TextView name = (TextView)paramView.findViewById(R.id.name);
- TextView sex = (TextView)paramView.findViewById(R.id.sex);
- TextView age = (TextView)paramView.findViewById(R.id.age);
- //获得list里面的第paramInt个对象,并把值赋给每个控件
- People people = list.get(paramInt);
- name.setText(people.name);
- sex.setText(people.sex);
- age.setText(people.age);
- //把一项返回,加载这个View
- return paramView;
- }
- public void addList(People people){
- list.add(people);
- }
- }
主类
- package com.action;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ListView;
- public class Tab extends Activity {
- MyAdapter adapter ;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- System.out.println("*********Tab");
- ListView listView =(ListView) findViewById(R.id.list);
- adapter = new MyAdapter(this);
- setPeople();
- listView.setAdapter(adapter);
- }
- public void setPeople(){
- People people;
- for(int i=1;i<5;i++){
- people = new People();
- people.name="张三";
- people.sex = "男";
- people.age ="22";
- adapter.addList(people);
- }
- }
- }
0 0
- ListView ( BaseAdapter )
- listview baseadapter
- ListView BaseAdapter
- ListView-BaseAdapter
- baseAdapter ListView
- Android ListView理解,BaseAdapter
- Android ListView理解,BaseAdapter
- Adapter,BaseAdapter和ListView
- Android ListView BaseAdapter 分析
- ListView BaseAdapter 简单分析
- listview baseadapter优化
- Android ListView理解,BaseAdapter
- Android:ListView BaseAdapter
- ListView中的BaseAdapter用法
- ListView与 simpleadapter 。baseadapter
- baseadapter listview错误
- ListView之BaseAdapter
- ListView结合BaseAdapter实例
- Linux系统结构 和linux kernel基本架构
- POI 导出word时不能换行解决
- JavaScript 注入攻击
- Spring security防止用户重复登录
- Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO)
- listview baseadapter
- img内联替换元素
- SIFT+SVM 使用Bag of Features
- 2101-view-autocomplete
- BlueTooth: 蓝牙基带数据传输机理分析
- Wait延时及定时查询
- html 前台通用表单
- 医调项目之C# 服务端与客户端JS通讯数据加密
- 获取 磁盘空间、文件夹等大小