Android二级列表-创新互联

android中二级列表的显示与ListView、RecyelerView等步骤类似:

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的城步网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

(1)xml布局

<ExpandableListView
        android:id="@+id/expandablelistview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp" />

(2)代码:

private ExpandableListView expandablelistview;// 可扩展的二级列表
//创建对象
expandablelistview = (ExpandableListView) findViewById(R.id.expandablelistview);
//实现二级列表的Group点击效果
expandablelistview.setOnGroupClickListener(new OnGroupClickListener() {

			@Override
			public boolean onGroupClick(ExpandableListView parent, View v,
					int groupPosition, long id) {
				if (!parent.isGroupExpanded(groupPosition)) {
					departmentId = (String) tree.get(groupArray
							.get(groupPosition));
				getemployee(groupPosition);// 获取部门下的员工信息
					if (pos != groupPosition) {
						parent.collapseGroup(pos);
					}
					pos = groupPosition;
				} else {
					parent.collapseGroup(groupPosition);
				}
				return true;
			}
		});		

(3)适配器:

public class ExpandableAdapter extends BaseExpandableListAdapter {

		public ExpandableAdapter() {
			hand = new Handler() {

				@Override
				public void handleMessage(Message msg) {
					notifyDataSetChanged();
					super.handleMessage(msg);
				}
			};
		}

		public Object getChild(int groupPosition, int childPosition) {
			if (childArray.size() == 0) {
				return null;
			}
			return childArray.get(groupPosition).get(childPosition);
		}

		public long getChildId(int groupPosition, int childPosition) {
			return childPosition;
		}

		public int getChildrenCount(int groupPosition) {
			// if (childArray.size() == 0) {
			// return 0;
			// }
			// if (childArray.size() == 1) {
			// return 1;
			// }
			return childArray.size();
		}

		public View getChildView(int groupPosition, int childPosition,
				boolean isLastChild, View convertView, ViewGroup parent) {
			if (childArray.size() == 0) {
				return getGenericView("无员工信息");
			}
			if (childArray.size() == 1) {
				return getGenericViewchild(childArray.get(0).get(0));
			}
			String string = childArray.get(groupPosition).get(childPosition);
			return getGenericViewchild(string);
		}

		// group method stub
		public Object getGroup(int groupPosition) {
			return groupArray.get(groupPosition);
		}

		public int getGroupCount() {
			return groupArray.size();
		}

		public long getGroupId(int groupPosition) {
			return groupPosition;
		}

		public View getGroupView(int groupPosition, boolean isExpanded,
				View convertView, ViewGroup parent) {
			String string = groupArray.get(groupPosition);
			return getGenericView(string);
		}

		// View stub to create Group/Children 's View
		public TextView getGenericView(String string) {
			// Layout parameters for the ExpandableListView
			AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(
					ViewGroup.LayoutParams.FILL_PARENT,
					ViewGroup.LayoutParams.FILL_PARENT);
			TextView text = new TextView(Manager_Employee_List.this);
			text.setLayoutParams(layoutParams);
			// Center the text vertically
			text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
			// Set the text starting position
			text.setPadding(100, 0, 0, 0);
			text.setTextSize(25);
			text.setBackgroundResource(R.drawable.back_top);
			text.setText(string);
			return text;
		}

		public View getGenericViewchild(final String string) {
			View v = View.inflate(Manager_Employee_List.this,
					R.layout.activity_baseadapter_list, null);
			TextView text = (TextView) v.findViewById(R.id.tv_baseadapter_list);
			ImageButton alter = (ImageButton) v
					.findViewById(R.id.ib_baseadapter_alter);
			// 修改
			alter.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View v) {
					Toast.makeText(getApplicationContext(), "修改", 0).show();
					Intent intent_Alter = new Intent(
							Manager_Employee_List.this, Manager_Add.class);
					intent_Alter.putExtra("companyId", companyId);
					PeopleNameAlter peopleNameAlter = (PeopleNameAlter) treeMap
							.get(string);
					intent_Alter.putExtra("biaoshi", true);
					intent_Alter.putExtra("banc", peopleNameAlter.banc);
					intent_Alter.putExtra("dapart", peopleNameAlter.dapart);
					intent_Alter.putExtra("id", peopleNameAlter.id);
					intent_Alter.putExtra("loginname",
							peopleNameAlter.loginname);
					intent_Alter.putExtra("phone", peopleNameAlter.phone);
					intent_Alter.putExtra("pwd", peopleNameAlter.pwd);
					intent_Alter.putExtra("name", string);
					startActivity(intent_Alter);
				}
			});
			ImageButton delete = (ImageButton) v
					.findViewById(R.id.ib_baseadapter_delete);
			// 删除
			delete.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View v) {
					Toast.makeText(getApplicationContext(), "删除", 0).show();
					PeopleNameAlter peopleNameAlterDelete = (PeopleNameAlter) treeMap
							.get(string);
					deletePeople(peopleNameAlterDelete.id);
					namelingshi = string;
				}
			});
			text.setText(string);
			return v;
		}

		public boolean hasStableIds() {
			return false;
		}

		public boolean isChildSelectable(int groupPosition, int childPosition) {
			return true;
		}

	}

(4)让ExpandableListView使用适配器

expandablelistview.setAdapter(new ExpandableAdapter());

具体的显示效果,可以再适配器中进行设置。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前题目:Android二级列表-创新互联
本文URL:https://www.cdcxhl.com/article20/csjpco.html

成都网站建设公司_创新互联,为您提供小程序开发品牌网站建设移动网站建设企业建站网站策划网站收录

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作