一、样式与功能
项目名称: jltf_template
项目语言: JAVA
module:category list
体验模板:category list
工具:deveco studio
效果如下
二、主要流程与核心代码
第一步 建立项目
新建一个java的应用项目
然后构建完成项目后在jltf_template下new->module
选择phone下的category list模板
第二步 修改数据
该项目通过customData类的数组决定联系人的数量,变量决定联系人的内容,可以先添加一个数组或者类存储联系人信息
由于联系人不是以模板的变量模式存储,也需要修改getCustomData的数据回去以及存储方式
第三步
登录你的账号然后启动模拟器即可实现效果
部分代码(customData)
public class CustomData {
private static final int[][] CATEGORY_DATA = new int[][]{
{SearchItem.ITEM_TYPE},
{HeadItem.ITEM_TYPE, SingleListItem.ITEM_TYPE},
{HeadItem.ITEM_TYPE, SingleListItem.ITEM_TYPE, SingleListItem.ITEM_TYPE},
{HeadItem.ITEM_TYPE, SingleListItem.ITEM_TYPE, SingleListItem.ITEM_TYPE, SingleListItem.ITEM_TYPE},
};
private static String[] CATEGORY_TEXT={"本人","家人","客户"} ;private static final String[] SINGLE_LEFT_TEXT = {"张某某","爸爸","妈妈","张总","李总","赵总"};private static final String SINGLE_RIGHT_TEXT = "***";/** * Return some custom data to display. * *
@param context current context *
@Return custom category list */public static List<Category> getCustomData(Context context) { ArrayList<Category> categoryList = new ArrayList<>(); for (int i = 0; i < CATEGORY_DATA.length; i++) { int[] items = CATEGORY_DATA
; ArrayList<CategoryItemBase> itemList = new ArrayList<>(); for (int j = 0; j < items.length; j++) { switch (items[j]) { case HeadItem.ITEM_TYPE: itemList.add(CategoryItemFactory.createListItem(context, HeadItem.ITEM_TYPE, CATEGORY_TEXT [i-1])); break; case SingleListItem.ITEM_TYPE: itemList.add(CategoryItemFactory.createListItem(context, SingleListItem.ITEM_TYPE, SINGLE_LEFT_TEXT[(i+j-2)], SINGLE_RIGHT_TEXT)); break; case SearchItem.ITEM_TYPE: itemList.add(CategoryItemFactory.createListItem(context, SearchItem.ITEM_TYPE)); break; default: break; } } TestCategory testCategory = new TestCategory(context, itemList, i); categoryList.add(testCategory); } return categoryList;}
三、完整代码地址
https://gitee.com/jltfcloudcn/jump_to/tree/master/categaryList
附件: