[英]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.