一度にExpandableListView
の子を1つだけ展開することは可能ですか?したがって、2番目の子を開くと、以前に開いた子が閉じられますか?
私はこれの自動メソッドを知りませんが、クリックされたものを除くすべてのリストグループに対してcollapseGroup()
を実行する_ExpandableListView.OnGroupClickListener
_を実装できます。これはあなたが望むことをします。
コードでbosの答えを確認するだけです:
expandableList.setOnGroupExpandListener(new OnGroupExpandListener() {
int previousGroup = -1;
@Override
public void onGroupExpand(int groupPosition) {
if(groupPosition != previousGroup)
expandableList.collapseGroup(previousGroup);
previousGroup = groupPosition;
}
});
また、FastAdapterにあるwithOnlyOneExpandedItem()
を使用することもできます。
それは FastAdapter外部ライブラリ にありますmikepenzによって
たとえば、ドロワーで使用しているとき
drawer.getAdapter().withOnlyOneExpandedItem(true);