单击搜索按钮时获取 searchView 文本
Get searchView text when search button is clicked
我是 android 编程新手。
我对搜索视图有疑问。
当我使用 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;
}
});
所以当我在搜索框中输入时,消息会在我输入时一个字母一个字母地烘烤,而不是让我点击键盘上的搜索。
我搜索了很多,找不到解决方案。
感谢您的解决方案...:)
SearchView 应该在用户输入时提供建议。如果您需要搜索整个句子或单词,请考虑使用带按钮的 EditText 而不是 SearchView。将侦听器设置为按钮并在用户点击后开始操作(Toast 消息)。
如果您不希望搜索视图执行默认操作,请尝试设置方法 onQueryTextChange(String newText)
empty body 和 return true。仅在 onQueryTextSubmit(String query)
.
中自行处理输入文本
如果你想在按下 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();
}
});
我是 android 编程新手。
我对搜索视图有疑问。 当我使用 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;
}
});
所以当我在搜索框中输入时,消息会在我输入时一个字母一个字母地烘烤,而不是让我点击键盘上的搜索。
我搜索了很多,找不到解决方案。 感谢您的解决方案...:)
SearchView 应该在用户输入时提供建议。如果您需要搜索整个句子或单词,请考虑使用带按钮的 EditText 而不是 SearchView。将侦听器设置为按钮并在用户点击后开始操作(Toast 消息)。
如果您不希望搜索视图执行默认操作,请尝试设置方法 onQueryTextChange(String newText)
empty body 和 return true。仅在 onQueryTextSubmit(String query)
.
如果你想在按下 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();
}
});