1

editText 検索フィルターのコードがいくつかあります

EditText searchView = (EditText) findViewById(R.id.search_view_edit);
searchView.setVisibility(View.VISIBLE);
`list.setTextFilterEnabled(true);`          

searchView.setHint( getResources().getString( R.string.search_friend_hint ) );
searchView.addTextChangedListener( new TextWatcher() {

   @Override
  public void onTextChanged( CharSequence s, int start,int before, int count ) {

   Log.d("abc123", "onTextChanged " + s.toString() );
       if (TextUtils.isEmpty( s )) {
        list.clearTextFilter();
       } else {
    list.setFilterText( s.toString() );
       }
  }                     
  @Override
  public void beforeTextChanged( CharSequence s, int start, int count, int after ) {}

  @Override
  public void afterTextChanged( Editable s ) {}
});

ただし、デフォルトではヒントにタイプが表示されます。

ここに画像の説明を入力

ヒントを無効にするにはどうすればよいですか?

4

2 に答える 2

0

ヒントは ではなくEditTextListViewwith results で表示されます。この回答が示唆するように、このツールチップ/トーストを無効にするには、 と を避けsetTextFilterEnabled(true)てくださいsetFilterText。代わりに、次をgetAdapter().getFilter().filter直接使用します。

EditText searchView = (EditText) findViewById(R.id.search_view_edit);
searchView.setVisibility(View.VISIBLE);
//DON'T list.setTextFilterEnabled(true);

searchView.setHint( getResources().getString( R.string.search_friend_hint ) );
searchView.addTextChangedListener( new TextWatcher() {

   @Override
   public void onTextChanged( CharSequence s, int start,int before, int count ) {

       Log.d("abc123", "onTextChanged " + s.toString() );
       list.getAdapter().getFilter().filter(s);
   }                     
   @Override
   public void beforeTextChanged( CharSequence s, int start, int count, int after ) {}

   @Override
   public void afterTextChanged( Editable s ) {}
});

また、UX を向上させるために、 and の代わりに and を使用することを検討SearchViewonQueryTextChangeEditTextくださいonTextChanged

于 2014-05-12T07:25:24.033 に答える