1.建立列表子项模板文本
2.适应列表容器的模板
3.新建个包,并新建立个列表容器的类
package com.text1.myhealth.pojo;
//对象类工具包 列表子项工具类
public class Item {
private StringtextValue;
// 空参
public Item() {
}
//有参
public Item(String textValue) {
this.textValue = textValue;
}
//gte和set
public StringgetTextValue() {
return textValue;
}
public void setTextValue(String textValue) {
this.textValue = textValue;
}
}
4.封装一个通用大的列表容器的适配器的方法类
public class ItemProviderextends BaseItemProvider {
// 集合装所有Item对L
private ArrayListlist;
//页面对象
private AbstractListslice;
// 有参构造
public ItemProvider(ArrayList list, AbstractList slice) {
this.list = list;
this.slice = slice;
}
//总数据有多少个 多少个item
@Override
public int getCount() {
return list.size();
}
//角标索引
// 数据角标返回数据
@Override
public ObjectgetItem(int i) {
return list.get(i);
}
// 返回某一项的id 基本没啥用
@Override
public long getItemId(int i) {
return 0;
}
//返回item中要加载的对象
@Override
public ComponentgetComponent(int i, Component component, ComponentContainer componentContainer) {
// 获取到加载页面
DirectionalLayout dl = (DirectionalLayout) LayoutScatter.getInstance((Context)slice)
.parse(ResourceTable.Layout_item, null, false);
// 获取每一个item里面的数据
Item item =list.get(i);
// 把数据加载到布局里面Text组件中去
Text text1 = (Text) dl.findComponentById(ResourceTable.Id_itemText1);
Text text2 = (Text) dl.findComponentById(ResourceTable.Id_itemText2);
Image image=(Image) dl.findComponentById(ResourceTable.Id_itemImg);
// 找到文本和图片
text1.setText(item.getTextValue1());
text2.setText(item.getTextValue2());
image.setImageAndDecodeBounds(item.getImgSrc());
// 返回出来
return dl;
}
}
5.在主页面引入列表容器适配器对象类
public class MainAbilitySliceextends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
// 找到ListContainer
ListComponent listComponent=( ListComponent)findComponentById(ResourceTable.
Id_listcomponent);
ArrayListlist=new ArrayList<>();
for (int i=0;i<=100;i++){
list.add(new Item("组件一"+i));
}
// 构造适配器
ltemProvider ltemProvider=new ltemProvider(list,this);
//把适配器交给列表容器组件
listComponent.setProvider(itemprovider);
}
网友评论