文档章节

ExpandableListView

 易水寒521
发布于 2015/05/04 13:55
字数 425
阅读 18
收藏 0

package com.expandablelistviewdemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity {

    private ExpandableListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView = (ExpandableListView) findViewById(R.id.expandableListView1);

        listView.setAdapter(new ExpandableAdapter());
    }

    class ExpandableAdapter extends BaseExpandableListAdapter {

        private String[] group = { "加入", "目标", "参观" };
        private String[][] childs = { { "搜索", "但是" }, { "尺寸", "尺寸" },
                { "dd", "充斥", "ff" } };

        // 返回每组中的每个子列表对象
        @Override
        public Object getChild(int arg0, int arg1) {
            return childs[arg0][arg1];
        }

        @Override
        public long getChildId(int arg0, int arg1) {
            return 0;
        }

        // 每个分组中,二级列表的数量
        @Override
        public int getChildrenCount(int arg0) {
            return childs[arg0].length;
        }

        // 返回每组对象
        @Override
        public Object getGroup(int arg0) {
            return group[arg0];
        }

        // 分组的数量
        @Override
        public int getGroupCount() {
            return group.length;
        }

        @Override
        public long getGroupId(int arg0) {
            return 0;
        }

        @Override
        public View getGroupView(int arg0, boolean arg1, View arg2,
                ViewGroup arg3) {
            
            if(arg2==null){
                arg2=getLayoutInflater().inflate(R.layout.griup_item, null);
            }
            
            ImageView iv= (ImageView) arg2.findViewById(R.id.imageView1);
            TextView tv=(TextView) arg2.findViewById(R.id.textView1);
            tv.setText(group[arg0]);
//            iv.setImageResource(R.drawable.ic_launcher);
            
            return arg2;
        }

        @Override
        public View getChildView(int arg0, int arg1, boolean arg2, View arg3,
                ViewGroup arg4) {
            
            if(arg3==null){
                arg3=getLayoutInflater().inflate(R.layout.childs_item, null);
            }
            
            ImageView iv=(ImageView) arg3.findViewById(R.id.imageView2);
            TextView tv=(TextView) arg3.findViewById(R.id.textView2);
//            iv.setImageResource(R.drawable.ic_launcher);
            tv.setText(childs[arg0][arg1]);
            return arg3;
        }

        @Override
        public boolean hasStableIds() {
            return true;
        }

        @Override
        public boolean isChildSelectable(int arg0, int arg1) {
            return true;
        }
    }
}


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ExpandableListView
        android:id="@+id/expandableListView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
        
    </ExpandableListView>

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_vertical">

    <ImageView
        android:layout_marginLeft="30dp"
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />
   
</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_vertical">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>





© 著作权归作者所有

上一篇: ImageSwitcher:
下一篇: UI设计
粉丝 1
博文 130
码字总数 120077
作品 0
虹口
私信 提问
ListView,ExpandableListView等控件 元素过多导致其下方控件无法显示的解决

我在ExpandableListView下方放了一个TextView,但是当组全部展开,ExpandableListView的高度超过屏幕高度时,不管你怎么划屏幕,下面的TextView就是看不到,被隐藏了,ListView也有类似的问题,只要...

鉴客
2011/12/01
2.6K
0
ExpandableListView和Listview可以共用一个写好的下拉刷新的工具类吗

以前我用的ListView加了下拉刷新,现在我改成了使用ExpandableListView,在他的基础上再加下拉刷新,我把关于Listview的都改成了ExpandableListView的 ,但是没效果,不知道是 ExpandableLi...

BAITOCC
2013/12/26
746
0
Android expandablelistview数据绑定的问题

我使用runOnUiThread来执行异步任务AsyncTask,并在AsyncTask中更新expandablelistview,为什么expandablelistview只显示了一条getGroupView?点击它的时候没有调用getChildView,这是什么情...

kycp1
2018/04/26
249
0
expandablelistview下拉刷新在Listview下拉刷新的基础上添加什么代码可以实现

expandablelistview下拉刷新在Listview下拉刷新的基础上添加什么代码可以实现 , 有 expandablelistview的下拉刷新例子的也可以,麻烦给分代码吧,expandablelistview下拉刷新的类和在activ...

BAITOCC
2013/12/26
459
0
Android中的ExpandableListView自定义显示的小箭头样式

ExpandableListView自带的小箭头样式不太好看,其实我们可以自己更换的。步骤如下: 1.隐藏ExpandableListView自带的图标。 exListView = (ExpandableListView) findViewById(R.id.ex_Knowl...

aaddssa
2015/06/11
4.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

射频特征阻抗

Characteris Impendance(特性阻抗,也称为‘特征阻抗’)是我们经常看到并使用自己的术语之一,但非常模糊且难以解释。以下是来自几个不同来源的Characteris Impendance(特性阻抗)的一些定义。...

demyar
14分钟前
1
0
Spring Boot Tomcat配置项

参数配置容器 server.xx开头的是所有servlet容器通用的配置,server.tomcat.xx开头的是tomcat特有的参数,其它类似。 所有参数绑定配置类:org.springframework.boot.autoconfigure.web.Serv...

xiaomin0322
18分钟前
2
0
微课程 | 第二课《Docker 安装方式介绍》

微课程 | 第二课《Docker 安装方式介绍》视频 https://v.youku.com/v_show/id_XNDQ0NDUzNjkxNg==.html?spm=a2hzp.8244740.0.0 上一期我们介绍了 DBLE 的基本概况,下面进入我们的正题,正题基...

爱可生
18分钟前
2
0
GUAVA--基础工具(Preconditions)

1、前置条件 俗话说丑话讲在前面,在做某些事情的时候是需要做一些前置条件的。假如需要修改一条数据的话,当参数传进来,我们要先查询这条数据是否存在。这时候就需要一个if了,如果参数还需...

MrYuZixian
32分钟前
6
0
PythonSpot 中文系列教程 · 翻译完成

原文:PythonSpot Python Tutorials 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 在线阅读 ApacheCN 学习资源 目录 PythonSpot 中文系列教...

ApacheCN_飞龙
40分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部