国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

android實(shí)現(xiàn)菜單三級樹效果

2019-10-21 21:35:40
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了android實(shí)現(xiàn)菜單三級樹展示的具體代碼,供大家參考,具體內(nèi)容如下

以下是部分代碼,完整代碼請在最下面點(diǎn)擊下載:

【MainActivity】

public void treeOnClick() { // TODO Auto-generated method stub superAdapter.RemoveAll(); superAdapter.notifyDataSetChanged(); String MenuCatName = getDate("MenuCatName"); String MenuGroupName = getDate("MenuGroupName"); String MenuItemName = getDate("MenuItemName"); // 一級菜單名數(shù)組 parent = MenuCatName.split("/"); // 二級菜單名數(shù)組 child = MenuGroupName.split("/"); // 三級菜單名數(shù)組 grandchild = MenuItemName.split("/");  List<SuperTreeViewAdapter.SuperTreeNode> superNodeTree = superAdapter  .GetTreeNode(); for (int i = 0; i < parent.length; i++) {  SuperTreeViewAdapter.SuperTreeNode superNode = new SuperTreeViewAdapter.SuperTreeNode();  superNode.parent = parent[i];  for (int j = 0; j < child_grandchild.length; j++) {  TreeViewAdapter.TreeNode node = new TreeViewAdapter.TreeNode();  node.parent = child_grandchild[j][0][0];  for (int k = 0; k < child_grandchild[j][1].length; k++) {   node.childs.add(child_grandchild[j][1][k]);  }  superNode.childs.add(node);  }  superNodeTree.add(superNode); } superAdapter.UpdateTreeNode(superNodeTree); expandableListView.setAdapter(superAdapter);  }

【SuperTreeViewAdapter】

public ExpandableListView getExpandableListView() { AbsListView.LayoutParams lp = new AbsListView.LayoutParams(  ViewGroup.LayoutParams.FILL_PARENT, TreeViewAdapter.ItemHeight); ExpandableListView superTreeView = new ExpandableListView(parentContext); superTreeView.setLayoutParams(lp); // 去掉子菜單分割線 superTreeView.setDivider(null); return superTreeView; }  /** * 三層樹結(jié)構(gòu)中的第二層是一個ExpandableListView */ public View getChildView(int groupPosition, int childPosition,  boolean isLastChild, View convertView, ViewGroup parent) { // 是 final ExpandableListView treeView = getExpandableListView(); final TreeViewAdapter treeViewAdapter = new TreeViewAdapter(  this.parentContext, 0); // 臨時變量取得TreeViewAdapter的TreeNode集合,可為空 List<TreeNode> tmp = treeViewAdapter.getTreeNode(); final TreeNode treeNode = (TreeNode) getChild(groupPosition,  childPosition); tmp.add(treeNode); treeViewAdapter.updateTreeNode(tmp); treeView.setAdapter(treeViewAdapter);  // 取得選中的二級樹形菜單的父子節(jié)點(diǎn),結(jié)果返回給外部回調(diào)函數(shù) treeView.setOnChildClickListener(this.stvClickEvent);  /**  * 第二級菜單展開時通過取得節(jié)點(diǎn)數(shù)來設(shè)置第三級菜單的大小  */ treeView.setOnGroupExpandListener(new OnGroupExpandListener() {  @Override  public void onGroupExpand(int groupPosition) {   AbsListView.LayoutParams lp = new AbsListView.LayoutParams(   ViewGroup.LayoutParams.FILL_PARENT, (treeNode.childs    .size() + 1) * TreeViewAdapter.ItemHeight + 0);  treeView.setLayoutParams(lp);  } });  /**  * 第二級菜單回收時設(shè)置為標(biāo)準(zhǔn)Item大小  */ treeView.setOnGroupCollapseListener(new OnGroupCollapseListener() {  @Override  public void onGroupCollapse(int groupPosition) {   AbsListView.LayoutParams lp = new AbsListView.LayoutParams(   ViewGroup.LayoutParams.FILL_PARENT,   TreeViewAdapter.ItemHeight);  treeView.setLayoutParams(lp);  } }); treeView.setPadding(TreeViewAdapter.PaddingLeft * 2, 0, 0, 0); return treeView; }  /** * 三級樹結(jié)構(gòu)中的首層是TextView,用于作為title */ public View getGroupView(int groupPosition, boolean isExpanded,  View convertView, ViewGroup parent) { TextView textView = TreeViewAdapter.getTextView(this.parentContext); textView.setText(getGroup(groupPosition).toString()); // 設(shè)置首層menu標(biāo)題背景 textView.setBackgroundResource(R.drawable.menu_category); textView.setPadding(TreeViewAdapter.PaddingLeft * 2, 0, 0, 0);  return textView; }

效果圖:

android,菜單,三級樹

完整代碼下載地址

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 峨边| 盱眙县| 涿州市| 屏东市| 长武县| 肇州县| 华阴市| 东丰县| 西宁市| 黄浦区| 肇东市| 红原县| 阳朔县| 文昌市| 台东县| 囊谦县| 沈阳市| 广灵县| 顺平县| 樟树市| 靖安县| 徐水县| 长寿区| 建昌县| 海盐县| 大宁县| 墨玉县| 临沭县| 双辽市| 大田县| 平泉县| 民乐县| 嘉祥县| 崇明县| 上栗县| 康平县| 德保县| 惠安县| 博湖县| 娱乐| 昌乐县|