2017-09-03 6 views
0

私はarraylist値[aaa0、aaa1、... aaa100、aab0、aab1、...、aab100]でオートコンプリートテキストビューを使用しています。次の10値iea''aa10 'までの値を入力し、次に' aab 'という値を入力します。提案リストは10番目の値つまり' aab10 'から始まります。 最初の値、 'aab0'が表示されるまでスクロールしなければなりません。検索テキストを変更すると、候補リストの最初の値が表示されます。 suggestion list screenshotテキストチェンジのautocompletetextviewの提案リストのインデックスを更新します

答えて

0

あなたはAutoCompleteTextViewクラス を拡張して、リストビューを更新するために、再度ドロップダウンを閉じ、示さなければならないonFilterComplete方法 をオーバーライドする必要があります。また

私は明らかに、より良いサポートここ

ためandroid.support.v7.widget.AppCompatAutoCompleteTextView を拡張する代わりにAutoCompleteTextView を拡張することをお勧めは、コード

package your.package.name; 
import android.content.Context; 
import android.util.AttributeSet; 
import android.support.v7.widget.*; 

public class CustomAutoCompleteTextView extends AppCompatAutoCompleteTextView { 

     public CustomAutoCompleteTextView(Context context) { 
      super(context); 
     } 

     public CustomAutoCompleteTextView(Context context, AttributeSet attrs) { 
      super(context, attrs); 
     } 

     public CustomAutoCompleteTextView(Context context, AttributeSet attrs, int defStyleAttr) { 
      super(context, attrs, defStyleAttr); 
     } 

     @Override 
     public void onFilterComplete(int count) { 
      super.onFilterComplete(count); 
      //show and dismiss the drop down to refresh the list in it 
      this.dismissDropDown(); 
      this.showDropDown(); 
     } 
} 

EDITです

AutoCompleteTextView.setListSelection()メソッドを使用して、上にスクロールすることもできます。 より効率的なフィルタ ごとにドロップダウンを閉じて表示する代わりに、

 @Override 
     public void onFilterComplete(int count) { 
      super.onFilterComplete(count); 
      //set list selection to 0 
      if(getListSelection() != 0) 
       this.setListSelection(0); 
     } 
+0

reply..Iためのおかげで、すべてのフィルターperformed.Iにドロップダウンを消すことができないだけで編集をチェックアウト@MaheshAmbekarドロップダウン –

+0

を解雇せずに実行フィルターにトップにリストをスクロールする必要があります。まさに私が推測したいもの –

関連する問題