0

Мне нужна ваша помощь :) У меня есть EditText и под ExpandableListView. Я использовал BaseExpandableListAdapter с группами/child. Я хотел бы, чтобы, когда пользователь записывает в EditText, ExpandableListView показывает только группу (элемент) с введенным текстом. Я думаю, что мне нужно создать фильтр. Здесь есть часть моего исходного кода. Может ли кто-нибудь мне помочь? Спасибо заранееФильтровать текст в ExpandableListView с помощью BaseExpandableListAdapter

  @Override 
    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState 
       setContentView(R.layout.main); 
       et = (EditText) findViewById(R.id.filterText); 

       et.setSingleLine(); 
       et.addTextChangedListener(new TextWatcher() { 

     @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // TODO Auto-generated method stub 
      if (et.getText().toString().equals("")) 
       elv.setBackgroundColor(Color.BLACK); 
      else 
      { 
       elv.setBackgroundColor(Color.WHITE); 
      } 
     } 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count,int after) { 
      // TODO Auto-generated method stub   
     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      // TODO Auto-generated method stub 

     } 
    }); 

      elv=getExpandableListView(); 
      mAdapter = new MyExpandableListAdapter(fields_select,description); 
      elv.setAdapter(mAdapter); 

      class MyExpandableListAdapter extends BaseExpandableListAdapter { 
       ...... 
      } 

ответ

5

Я решил это, я реализовал интерфейс Фильтруемые таким образом:

class MyExpandableListAdapter extends BaseExpandableListAdapter implements Filterable{ 

и тогда я переопределить метод getfilter(). В конце концов, я написал класс, который расширяет класс Filter.

public Filter getFilter() { 
    Filter filter = new MyFilter(); 
    return filter; 
} 

    private class MyFilter extends Filter{ 
+3

Вы можете отметить ваш ответ как можно скорее. – SERPRO