2016-03-25 10 views
0

私は非常に長いExpandableListViewを使用していますので、ユーザが探している要素(グループ)内で自分自身を検索し、このグループを展開できるようにするためにAutoCompleteTextViewを追加しました(まるでユーザーがグループをクリックしたように)。ユーザーがクリックする前に、私はこれを明示的に行う場合ExpandableListView上での位置付け

mExpandableListView.setSelectedGroup(groupPosition); 
mExpandableListView.expandGroup(groupPosition); 

私の検索ボタンeverythigは罰金行く::

私が使用しているメソッドのペアは、私のグループが展開され、リストビューの位置自体はそれが見えるように。

しかし、私は検索ボタンをクリックすると(論理的な方法で)、キーボードを隠し、グループは展開されますが、リストビューは表示されません(要素が表示されていない場合)。

さらに(私は最後のグループを開いた位置を保存しました)もう一度クリックして新しい検索を入力すると(キーボードは表示されません)、もう一度うまく行きます。

私はこの問題は、いくつかの焦点のものから来るかもしれないと思うが、言及したペアのメソッドが動作しないの前に

mExpandableListView.requestFocus(); 

を行います。

これについてのアイデアは?

ありがとうございました!

答えて

0

オーケー、私は相対的な位置関係について明確ではありませんでした、解決は、そのリストビューでのAndroidでそれを必要とする人のためのコードを維持:

mExpandableListView.setSelectedGroup(groupPosition); 
mExpandableListView.expandGroup(groupPosition); //Expanding the group selected, now the list has 1 more element 
mExpandableListView.smoothScrollToPosition(groupPosition + 1); //Scrolling to the content (the new element showed: the child of the group selected)