1.listview控件应用
①在布局文件中加进一个ListView控件 ② 写一个类MyAdapter继承BaseAdapter
private class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return persons.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) {
Person p=persons.get(position);
TextView tv=new TextView(getApplicationContext());
tv.setTextSize(20);
tv.setTextColor(Color.BLACK);
tv.setText(p.toString());
return tv;
}
③在MainActivity中的核心代码如下(假设数据是上一节数据库Person.db中的数据)
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);
lv = (ListView) findViewById(R.id.lv);
PersonDao pd=new PersonDao(this);
persons=pd.findAll();
MyAdapter adapter=new MyAdapter();
lv.setAdapter(adapter);
}
2. listview使用了MVC模式 M 数据模型 Person对象 V 视图 ListView C 控制器 适配器adapter 3适合更多界面样式的方法: 除了有listview控件的布局文件外,还可以创建一个listItem布局文件 之后再适配器类的View 方法中添加如下核心代码(示例) View view=View.inflate(MainActivity.this, R.layout.list_item, null);
TextView tv_id=(TextView) view.findViewById(R.id.tv_id);
tv_id.setText("id:"+p.getId());
TextView tv_name=(TextView) view.findViewById(R.id.tv_name);
tv_name.setText("姓名:"+p.getName());
TextView tv_number=(TextView) view.findViewById(R.id.tv_number);
tv_number.setText("身份证:"+p.getIdcard());
return view;
|
2015.5.13安卓笔记之listview
最新推荐文章于 2021-12-06 06:29:31 发布