1

を実装SimpleExpandableListAdapterしましたが、セクションのタイトルをカスタマイズしようとしています。これを行うには、groupToパラメーターのカスタム ID をコンストラクターに渡します。TextView

    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" />

問題は、何も表示されないことです。ビューがそこになかったかのように、全体が空白です。理由についてのアイデア、またはこれを解決するために読むことができるリンクはありますか? ありがとう!

4

1 に答える 1

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それでも、なぜコンストラクターに自動的に渡されないのかわかりません。

于 2011-01-21T19:49:59.803 に答える