采用layoutInflater打气筒创建一个view对象 →ListView
2014-07-29 18:35
387 查看
list_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:gravity="center_vertical"
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="fill_parent"
android:layout_height="60dip"
android:layout_marginLeft="20dip"
android:gravity="center_vertical"
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="18sp" />
</LinearLayout>
</LinearLayout>
MainActivity
package org.gentry.db;
import java.util.List;
import org.gentry.db.dao.PersonDao;
import org.gentry.db.domain.Person;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView lv;
private List<Person> persons;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PersonDao dao = new PersonDao(this);
persons = dao.findAll();
lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new MyAdapter());
}
private class MyAdapter extends BaseAdapter {
/**
* 控制listview里面总共有多少条目
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return persons.size(); // 条目个数==集合的size
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Person person = persons.get(position); // 得到某个位置对应的person对象
View view = View.inflate(MainActivity.this, R.layout.list_item,
null); // 把xml文件转化成view对象
TextView tv_id = (TextView) view.findViewById(R.id.tv_id); // 一定要在view对象里面寻找孩子的id
tv_id.setText("id:" + person.getId());
TextView tv_name = (TextView) view.findViewById(R.id.tv_name);
tv_name.setText("姓名:" + person.getName());
TextView tv_phone = (TextView) view.findViewById(R.id.tv_phone);
tv_phone.setText("电话:" + person.getNumber());
return view;
}
}
}
<?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:gravity="center_vertical"
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="fill_parent"
android:layout_height="60dip"
android:layout_marginLeft="20dip"
android:gravity="center_vertical"
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="18sp" />
</LinearLayout>
</LinearLayout>
MainActivity
package org.gentry.db;
import java.util.List;
import org.gentry.db.dao.PersonDao;
import org.gentry.db.domain.Person;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView lv;
private List<Person> persons;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PersonDao dao = new PersonDao(this);
persons = dao.findAll();
lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new MyAdapter());
}
private class MyAdapter extends BaseAdapter {
/**
* 控制listview里面总共有多少条目
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return persons.size(); // 条目个数==集合的size
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Person person = persons.get(position); // 得到某个位置对应的person对象
View view = View.inflate(MainActivity.this, R.layout.list_item,
null); // 把xml文件转化成view对象
TextView tv_id = (TextView) view.findViewById(R.id.tv_id); // 一定要在view对象里面寻找孩子的id
tv_id.setText("id:" + person.getId());
TextView tv_name = (TextView) view.findViewById(R.id.tv_name);
tv_name.setText("姓名:" + person.getName());
TextView tv_phone = (TextView) view.findViewById(R.id.tv_phone);
tv_phone.setText("电话:" + person.getNumber());
return view;
}
}
}
相关文章推荐
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- 内容提供者ContentProvider →采用layoutInflater打气筒创建一个view对象
- [android] 采用layoutInflater打气筒创建一个view对象
- listview入门(采用layoutlnflater打气筒创建一个view对象)
- 用 layoutInflater打气筒创建一个view对象
- Android 采用Layout Inflater创建一个View对象
- Android 漫游之路------ListView入门、Layout的Inflater创建View对象、常用数据适配器
- Android -- listview的使用, Inflater打气筒创建View对象,三种数据Adapter
- Android -- listview的使用, Inflater打气筒创建View对象,三种数据Adapter
- LayoutInflater拦截View创建,自定义Resource对象
- android学习之LayoutInflater的用法,在myAdapter getView()里将多个TextView组件压缩成一个View控件,并在listView里显示
- inflate用一个XML源填充view. LayoutInflater
- inflate用一个XML源填充view. LayoutInflater
- Android LayoutInflater 【 一个类似于findViewById的神器】
- 不同Context对象创建的LayoutInflater对象也不同
- 使用LayoutInflater 获取View对象的方式
- UI 创建一个view对象
- LinearLayout详解三:LayoutInflater创建View过程分析
- Android笔记之使用LayoutInflater创建View
- LinearLayout具体解释三:LayoutInflater创建View过程分析