簡體   English   中英

如何忽略搜索視圖中的前導空格?

[英]How can I ignore leading spaces in my searchview?

在普通的Edittext我會在我的TextWatcher方法中使用類似的東西:

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

  String str = charSequence.toString();
  //if it starts with " " then don't recognise it, simply put ""
  if (str.equals(" ")) {
    Edittext.setText("");
  }
}

我將如何在我的searchview執行等效searchview

我正在嘗試使用以下方法:

   // listening to search query text change
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

  @Override
  public boolean onQueryTextChange(String query) {

        String str = searchView.getQuery().toString();
        //if it starts with " " then don't recognise it, make it ""
        if (str.equals(" ")) {
          searchView.setQuery("", false);

        }
      }
    });

也許

  @Override
  public boolean onQueryTextChange(String query) {

        String str = searchView.getQuery().toString().trim();
        //if it starts with " " then don't recognise it, make it ""
        if (str.equals("")) { 
          searchView.setQuery("", false);

        }
      }
    });

SearchView 是一個 LinearLayout,所以在它里面找到一個 EditText 並設置 textChangedListener:

    fun SearchView.ignoreLeadingWhiteSpaces(){
       findViewById<EditText>(androidx.appcompat.R.id.search_src_text).apply {
         doOnTextChanged { text, _, _, _ ->
            if(text?.startsWith(" ") == true) {
                setText(text?.trim())
            }
         }
       }
    }

稱呼:

searchView.ignoreLeadingWhiteSpaces()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM