单击搜索按钮时获取searchView文本

时间:2019-06-12 07:55:04

标签: android android-studio searchview

我是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;
            }
        });

因此,当我在搜索框中键入内容时,该消息在我键入时一字接一词地敬酒,而不是让我单击键盘上的搜索。

我搜索了很多,却找不到解决方案。 感谢您的解决方案...:)

3 个答案:

答案 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是您要使用的文本。

如果您想通过单击ButtonTextView等其他按钮来获取文本。

然后您像这样使用

buttonname.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View view) {
       String query = searchView.getQuery();
   }
});