我是android编程的新手。
我对searchview有问题。 当我使用textlistener时,它总是在键入时检查文本,直到用户在搜索栏中实际点击搜索为止。
SearchView searchView = (SearchView) findViewById(R.id.Search_View);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
///Toast.makeText(getApplicationContext(),query,Toast.LENGTH_SHORT).show();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
Toast.makeText(getApplicationContext(),newText,Toast.LENGTH_SHORT).show();
return false;
}
});
因此,当我在搜索框中键入内容时,该消息在我键入时一字接一词地敬酒,而不是让我单击键盘上的搜索。
我搜索了很多,却找不到解决方案。 感谢您的解决方案...:)
答案 0 :(得分:0)
SearchView应该在键入时向用户提供建议。如果您需要搜索整个句子或单词,请考虑使用带有按钮的EditText而不是SearchView。将监听器设置为按钮,然后在用户点击按钮后开始操作(敬酒消息)。
答案 1 :(得分:0)
请尝试将方法onQueryTextChange(String newText)
设置为空主体,如果您不希望搜索视图执行默认操作,则返回true。仅在onQueryTextSubmit(String query)
中自己处理输入文本。
答案 2 :(得分:0)
如果要在从key board
按按钮时获取文本,请使用:
@Override
public boolean onQueryTextSubmit(String query) {
Toast.makeText(getApplicationContext(), query, Toast.LENGTH_SHORT).show();
return false;
}
query
是您要使用的文本。
如果您想通过单击Button
,TextView
等其他按钮来获取文本。
然后您像这样使用
:buttonname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String query = searchView.getQuery();
}
});