Android实例demo10之listview的使用(加载xml、textview、BaseAdapter的使用)

无论是android还是IOS、listview(android)(UITableview)都是移动开发UI中最重要和最难的控键。注意没有之一,因此这个控键的重要成都可见一般。

讲解Listview从MVC的概念来理解非常的易懂。

V:view

ListView mListView = (ListView) findViewById(R.id.listview);

比如我们在界面布局的xml文件中定义了一个控键,这个控键就是我们要显示的listview。

M:model

数据模型:比如这里创建一个list或者创建一个其他的数据对象。

C:controller 

视图控制器,用于在M和V之间建立联系,即怎样将M绑定到V上。

这里提供了一个类叫:Adapter

mListView.setAdapter(new MyAdapter());

创建一个子类继承这个Adapter

 class MyAdapter extends BaseAdapter

public int getCount() {

return personList.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;

}

这里有一些常见的方法,比较简单这里就不一一描述了。

重点看看绑定的方法:

public View getView(int position, View convertView, ViewGroup parent) {

TextView tv = null;

if(convertView != null) {

tv = (TextView) convertView;

} else {

tv = new TextView(MainActivity.this);

}

tv.setTextSize(12);

Person person = personList.get(position); 

tv.setText(person.toString());

return tv;

}

    }

position 表示列表中每一个listview的子控键的位置,convertView表示缓存,是否使用,这个缓存的功能和IOS中UITableview一样就不详述了。这个方法实现了获取view,绑定数据的功能,最后吧生成的一个view对象返回到listview的一个子视图上。

加载XML:


这里是吧xml作为一个子的view加载到list view中:

if(convertView == null) {

// 把xml布局转换成view对象

LayoutInflater inflater = MyActivity.this.getLayoutInflater();

view = inflater.inflate(R.layout.listview_item, null);

} else {

view = convertView;

}

利用打气筒将xml加载进来,然后将其转化为view,之后从view中获取子的id对象。并对其子对象进行数据装载操作。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值