简单的ExpandableListAdapter部分标题

时间:2011-01-21 00:01:10

标签: android expandablelistview

我实现了我的SimpleExpandableListAdapter,我正在尝试自定义章节标题。要执行此操作,我会为 groupTo 参数传递constructor自定义TextView的ID:

    setListAdapter( new SimpleExpandableListAdapter(this,
                                                    groupsData, 
                                                    android.R.layout.simple_expandable_list_item_1,
                                                    new String[]{SECTION}, 
                                                    new int[]{R.id.list_group_title}, 
                                                    innerData,
                                                    0, 
                                                    null, 
                                                    new int[]{}){ /*my code here*/ });

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list_group_title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="20dip" />

问题是,什么都没有出现!整个事情都是空白的,就好像视野不存在一样。 有什么想法,或者我能读到的任何链接来解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

    MyAdapter ma = new MyAdapter(this,groupsData,android.R.layout.simple_expandable_list_item_1,new String[]{SECTION}, new int[]{R.layout.list_group_title},innerData,0,null,new int[]{});
    setListAdapter(ma);


    private static class MyAdapter extends SimpleExpandableListAdapter
    {
            LayoutInflater layoutInflater;
            int title;

            public MyAdapter(Context context,List<? extends Map<String, ?>> groupData,int groupLayout,String[ ] groupFrom,int[ ] groupTo,List<? extends List<? extends Map<String, ?>>> childData,int childLayout,String[ ] childFrom, int[ ] childTo)
            {           
                super(context,groupData,groupLayout,groupFrom,groupTo,childData,childLayout,childFrom,childTo);
                title = groupTo[0];
                layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            }
            @Override
            public View getGroupView(int groupPosition,boolean isExpanded,View convertView,ViewGroup parent)
            {
                return (TextView)layoutInflater.inflate(title,null);
            }
    }

getGroupView中充气它可以解决问题。不过,我不明白为什么它不会自动传递给super构造函数。