1

AndroidでExpandableListViewをフラット化する方法はありますか?ExpandableListViewがあり、ユーザーがその中の特定の文字列を検索するときに、グループを表示せずに、検索文字列に一致するすべての子を表示したいと思います。

4

2 に答える 2

0

私は2つの方法があると思います

[1]検索用にXMLで別の1つのリストビュー(デフォルトでは非表示)を取得します-一致結果を表示します。検索が発生したら、ExpandableListViewを非表示にし、 Visibility=VISIBLEを設定します。

ただし、このように、[OK]のようなボタンを配置する必要があります。ユーザーが検索済みリストを表示したら、[OK]を押すとExpandableListViewが表示されます。

[2] CHILD CLASSのカスタム行を設定して、検索結果が表示されたときに、Left MARGIN = --10dp(または必要なもの)を設定できます。また、検索時にFLAGを使用する必要があります。また、アダプタでは、このFLAGをチェックして、textviewの左マージンを設定する必要があります。


第三の道を編集する


[3]フラグが設定されている場合は、GROUP-LISTにSEARCHED項目を入力します。別の余分な空白リストを 取得し、子リストに空白リストを入力します。

このように、左マージンを設定する必要はありません。

于 2012-08-03T18:15:34.693 に答える
0

アダプターで、空のビューを返します。これにより、グループビューが表示されなくなります。

public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
    return new View(parentActivity);
}

ExpandableListViewで、すべてのグループを展開します。

int count = adapter.getGroupCount();
for (int i=0; i<count; i++)
{
    listView.expandGroup(i);
}
于 2012-08-03T22:09:04.803 に答える