I have this application which retrieves data from a MySql database and parses it into a recyclerView. I have a editText and i want to be able to filter the recyclerView items while typing.
Here is my MainActivity (SearchAvtivity):
public class SearchActivity extends AppCompatActivity {
    private static final String TAG = "Search Activity";
    private Context mContext = SearchActivity.this;
    private static final int ACTIVITY_NUM = 1;
    String urlAddress = "myDatabaseAddressGoesHere.PHP";
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_search);
        Log.d(TAG, "onCreate: started");
        setupBottomNavigationView();
        final RecyclerView rv = (RecyclerView) findViewById(R.id.SearchRv);
        rv.setLayoutManager(new LinearLayoutManager(this));
        rv.setItemAnimator(new DefaultItemAnimator());
        Downloader dl = new Downloader(SearchActivity.this,urlAddress,rv);
        dl.execute();
     }
          
         
    /**
     * Setup Bottom Navigation View
     */
    private void setupBottomNavigationView(){
        Log.d(TAG, "setupBottomNavigationView: Setting up Bottom Navigation View");
        BottomNavigationViewEx bottomNavigationViewEx = (BottomNavigationViewEx)findViewById(R.id.bottom_nav_bar);
        BottomNavigationViewHelper.setupBottomNavigationView(bottomNavigationViewEx);
        BottomNavigationViewHelper.enableNavigation(mContext,bottomNavigationViewEx);
        Menu menu = bottomNavigationViewEx.getMenu();
        MenuItem menuItem = menu.getItem(ACTIVITY_NUM);
        menuItem.setChecked(true);
    }
}and here is the MyAdapter:
public class MyAdapter extends RecyclerView.Adapter<MyHolder> {
    Context c;
    ArrayList<SpaceCraft> spaceCrafts;
    List<MyHolder> displayedList;
    public MyAdapter(Context c, ArrayList<SpaceCraft> spaceCrafts) {
        this.c = c;
        this.spaceCrafts = spaceCrafts;
    }
    @Override
    public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.search_adapter_vertical,parent,false);
        return new MyHolder(v);
    }
    @Override
    public void onBindViewHolder(MyHolder holder, int position) {
        holder.nameTv.setText(spaceCrafts.get(position).getName());
        holder.addressTv.setText(spaceCrafts.get(position).getAddress());
        holder.phoneTv.setText(spaceCrafts.get(position).getPhone());
        holder.emailTv.setText(spaceCrafts.get(position).getEmail());
    }
    @Override
    public int getItemCount() {
        return spaceCrafts.size();
    }
}Ido not know if you need to see the vlasses: downloader, parser, connector or holder. I so please tell me.
 
    