8

私はちょうど現在のGoogleサンプルを試しましたExpandableListiew

このサンプルは非常にシンプルで使いやすいように見えますが、私がやりたいのは、カテゴリの1つに子がないということです。すべての子を削除しましたが、問題は、矢印がこの現在の行にまだ表示されていることです。

たとえば、すべての「猫の名前」を削除したと想像してください。矢印はまだそこにあり、クリックすると矢印が変わるだけです。この矢印を削除して、代わりにアクティビティを起動するにはどうすればよいですか?

4

2 に答える 2

12

リストを折りたたんだり展開したりするために使用される矢印について話している場合は、setGroupIndicator()を使用してリストを削除できます。

あなたが呼び出すことができる活動で

getExpandableListView().setGroupIndicator(null);

ただし、矢印は完全に削除されます。リストが空の場合にのみ非表示にしたい場合は、次のようなxml属性を使用して行うことができます

リストが展開/折りたたみされたときにアクティビティを起動するには、ListAdapter実装でonGroupExpanded(または折りたたみ)をオーバーライドし、それを使用してアクティビティを起動できます。

于 2011-05-04T04:18:58.457 に答える
2

一般に、別のアクティビティから戻ったときにアクティビティの特定の領域を更新する場合は、onResume()メソッドで書く必要があります。

手順:1 –更新するアクティビティで、onResume()メソッドをオーバーライドします。

@Override
protected void onResume() {
    super.onResume();
    // TODO: PUT YOUR REFRESH CODE IN HERE
}

2-拡張可能アダプターを更新する必要があります。

次のように、展開可能なリストをインスタンス化するために使用したのと同じコードを使用して、再度配置することをお勧めします。

SimpleExpandableListAdapter expandableListAdapter =
    new SimpleExpandableListAdapter(
        this,
        YourPrentsList, // List of your parent 
        R.layout.parents_layout,    // Layout for the Parents
        new String[] { "groupKey" },    // Key in the Group Data maps to display
        new int[] { 1 },        
        childrenList,   // List of the children
        R.layout.childs_layout, // Layout of the children
        new String[] { "keys"}, 
        new int[] { 1}  
    );
setListAdapter( expandableListAdapter );

これであなたの懸念が解決することを願っています...ありがとう、

モハメド。

于 2010-12-27T01:24:14.517 に答える