zoukankan      html  css  js  c++  java
  • android之ExpandableListActivity

    MainActivity.java

    package com.example.mars_2300_expandablelist;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    import android.app.ExpandableListActivity;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.SimpleExpandableListAdapter;
    import android.os.Build;
    
    public class MainActivity extends ExpandableListActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 定义一个List,该List对象为一级条目提供数据
            List<Map<String, String>> groups = new ArrayList<Map<String, String>>();
            Map<String, String> group1 = new HashMap<String, String>();
            group1.put("group", "group1");
            Map<String, String> group2 = new HashMap<String, String>();
            group2.put("group", "group2");
            groups.add(group1);
            groups.add(group2);
    
            // 定义一个List,该List对象为第一个一级条目提供二级条目的数据
            List<Map<String, String>> child1 = new ArrayList<Map<String, String>>();
            Map<String, String> child1Data1 = new HashMap<String, String>();
            child1Data1.put("child", "child1Data1");
            child1.add(child1Data1);
            Map<String, String> child1Data2 = new HashMap<String, String>();
            child1Data2.put("child", "child1Data2");
            child1.add(child1Data2);
    
            // 定义一个List,该List对象为第二个一级条目提供二级条目的数据
            List<Map<String, String>> child2 = new ArrayList<Map<String, String>>();
            Map<String, String> child2Data = new HashMap<String, String>();
            child2Data.put("child", "child2Data");
            child2.add(child2Data);
    
            // 定义一个List,该List对象用来存储所有的二级条目的数据
            List<List<Map<String, String>>> childs = new ArrayList<List<Map<String, String>>>();
            childs.add(child1);
            childs.add(child2);
    
            // 生成一个SimpleExpandableListAdapter对象
            // 1.context
            // 2.一级条目的数据
            // 3.用来设置一级条目样式的布局文件
            // 4.指定一级条目数据的key
            // 5.指定一级条目数据显示控件的id
            // 6.指定二级条目的数据
            // 7.用来设置二级条目样式的布局文件
            // 8.指定二级条目数据的key
            // 9.指定二级条目数据显示控件的id
            SimpleExpandableListAdapter sela = new SimpleExpandableListAdapter(
                    this, groups, R.layout.group, new String[] { "group" },
                    new int[] { R.id.groupTo }, childs, R.layout.child,
                    new String[] { "child" }, new int[] { R.id.childTo });
            // 将SimpleExpandableListAdapter对象设置给当前的ExpandableListActivity
            setListAdapter(sela);
        }
    }

    group.xml

    <?xml version="1.0" encoding="UTF-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             >
     
         <ExpandableListView android:id="@id/android:list"
                   android:layout_width="fill_parent" 
                   android:layout_height="fill_parent"
                   android:drawSelectorOnTop="false"/>
     
         <TextView android:id="@id/android:empty"
                   android:layout_width="fill_parent"
                   android:layout_height="fill_parent"
                   android:text="No data"/>
     </LinearLayout>

    child.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
    
        <TextView android:id="@+id/childTo" 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" 
            android:paddingLeft="50px" 
            android:paddingTop="5px"
            android:paddingBottom="5px" 
            android:textSize="20sp" 
            android:text="No data" />
    </LinearLayout>

    activity_main.xml

    <?xml version="1.0" encoding="UTF-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             >
     
         <ExpandableListView android:id="@id/android:list"
                   android:layout_width="fill_parent" 
                   android:layout_height="fill_parent"
                   android:drawSelectorOnTop="false"/>
     
         <TextView android:id="@id/android:empty"
                   android:layout_width="fill_parent"
                   android:layout_height="fill_parent"
                   android:text="No data"/>
     </LinearLayout>
  • 相关阅读:
    Atitit 经济学常见的流派 古典主义与凯恩斯主义
    Atitit 学习方法 体系化学习方法 Excel 科目,分类,专业 三级分类。。 知识点。。 课程就是每一个知识点的详细化。。 比如经济学 类别 专业 xx概论知识点 3、金
    atiitt it学科体系化 体系树与知识点概念大总结.xlsx
    Atitit 减少财政支出普通人如何蹭政府补贴措施 attilax大总结.docx
    Atitit 信用管理概论 attilax学习心得
    Atitit.月度计划日程表 每月流程表v5
    Atitit 企业6大职能 attilax总结
    Atitit 常见每日流程日程日常工作.docx v8 ver ampm imp 签到 am y 天气情况检查 am y 晨会,每天或者隔天 am 每日计划(项目计划,日计划等。 am
    Atitit 财政赤字解决方案
    Atitit 建设自己的财政体系 attilax总结 1.1. 收入理论 2 1.2. 收入分类 2 1.3. 2 1.4. 非货币收入 2 1.5. 2 1.6. 降低期望 2 1.7.
  • 原文地址:https://www.cnblogs.com/zhuawang/p/3675327.html
Copyright © 2011-2022 走看看