android多级树形列表,移动应用开发专业前景工资

本文展示了如何在Android应用中创建一个多级树形列表,使用自定义的`MyTreeListViewAdapter`来处理节点的点击和选择状态。代码示例包括节点数据模型`MyNodeBean`和适配器的核心实现。此外,讨论了移动开发的专业前景和工资水平。
摘要由CSDN通过智能技术生成

private MyTreeListViewAdapter adapter;

private List mDatas = new ArrayList();

//标记是显示Checkbox还是隐藏

private boolean isHide = true;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initDatas();

treeLv = (ListView) this.findViewById(R.id.tree_lv);

checkSwitchBtn = (Button)this.findViewById(R.id.check_switch_btn);

checkSwitchBtn.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

if(isHide){

isHide = false;

}else{

isHide = true;

}

adapter.updateView(isHide);

}

});

try {

adapter = new MyTreeListViewAdapter(treeLv, this,

mDatas, 10, isHide);

adapter.setOnTreeNodeClickListener(new OnTreeNodeClickListener() {

@Override

public void onClick(Node node, int position) {

if (node.isLeaf()) {

Toast.makeText(getApplicationContext(), node.getName(),

Toast.LENGTH_SHORT).show();

}

}

@Override

public void onCheckChange(Node node, int position,

List checkedNodes) {

StringBuffer sb = new StringBuffer();

for (Node n : checkedNodes) {

int pos = n.getId() - 1;

sb.append(mDatas.get(pos).getName()).append("—")

.append(pos + 1).append(";");

}

Toast.makeText(getApplicationContext(), sb.toString(),

Toast.LENGTH_SHORT).show();

}

});

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

treeLv.setAdapter(adapter);

}

private void initDatas() {

mDatas.add(new MyNodeBean(1, 0, “中国古代”));

mDatas.add(new MyNodeBean(2, 1, “唐朝”));

mDatas.add(new MyNodeBean(3, 1, “宋朝”));

mDatas.add(new MyNodeBean(4, 1, “明朝”));

mDatas.add(new MyNodeBean(5, 2, “李世民”));

mDatas.add(new MyNodeBean(6, 2, “李白”));

mDatas.add(new MyNodeBean(7, 3, “赵匡胤”));

mDatas.add(new MyNodeBean(8, 3, “苏轼”));

mDatas.add(new MyNodeBean(9, 4, “朱元璋”));

mDatas.add(new MyNodeBean(10, 4, “唐伯虎”));

mDatas.add(new MyNodeBean(11, 4, “文征明”));

mDatas.add(new MyNodeBean(12, 7, “赵建立”));

mDatas.add(new MyNodeBean(13, 8, “苏东东”));

mDatas.add(new MyNodeBean(14, 10, “秋香”));

}

}

Adapter

这个adapter是继承了自己的定义的一个TreeListViewAdapter,核心实现都是在TreeListViewAdapter这个里面

package com.example.customtreeviewdemo;

import java.util.List;

import android.content.Context;

import android.view.View;

impo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值