How can we implement a search bar in Android?

There are several ways to implement a search bar in Android.

  1. You can use the SearchView widget in Android to implement search functionality. Simply add the SearchView widget in the layout file and handle the search logic in the corresponding Activity.
<SearchView
    android:id="@+id/searchView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:iconifiedByDefault="false"
    android:queryHint="Search..."
    android:layout_margin="8dp"/>

Then listen to the changes and search events in the Activity.

SearchView searchView = findViewById(R.id.searchView);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
    @Override
    public boolean onQueryTextSubmit(String query) {
        // 处理搜索逻辑
        return false;
    }

    @Override
    public boolean onQueryTextChange(String newText) {
        // 处理搜索框文本变化
        return false;
    }
});
  1. Custom search box: You can also create a customized EditText control as the search box and add a text change listener in the code to handle search logic.
<EditText
    android:id="@+id/searchEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Search..."
    android:layout_margin="8dp"/>

Listen for text changes in EditText in Activity:

EditText searchEditText = findViewById(R.id.searchEditText);
searchEditText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

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

    @Override
    public void afterTextChanged(Editable s) {
        // 处理搜索逻辑
    }
});

These are two common ways to implement a search bar, you can choose the appropriate method based on your needs.

bannerAds