2017-10-07 65 views
-4

我有一個奇怪的問題,在Android中使用SearchView的onQueryTextChanged方法。我的問題是,當特定的文本例如:「Al a」被輸入時(即,在搜索字段中輸入字母'a'之後),searchView自己關閉。但是,如果我輸入「A A」,即大寫'A',則沒有問題。同樣的問題仍然存在於「Al b」,「Al c」,.....等等。起初我認爲它與轉義序列有關,但事實並非如此。我無言以對,請幫忙。onQueryTextChanged searchView方法中的方法向後倒退,沒有過濾/發佈搜索結果

private void search(SearchView searchView) { 
     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 

      @Override 
      public boolean onQueryTextSubmit(String query) { 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 

       System.out.println("text entered="+newText); 

       if (condition!= null) { 
        if (newText.length()!=0) { //if newText is not empty 
        } else { 
isFiltersActive = false; 
        } 
        ListAdapter.getFilter().filter(newText); 
       } else 
        isFiltersActive = false; 
       return true; 
      } 
     }); 
     searchView.setOnCloseListener(new SearchView.OnCloseListener() { 
      @Override 
      public boolean onClose() { 
      } 
     }); 
    } 
+1

請張貼代碼。 –

+0

請再次檢查消息。我已經添加了代碼。 – Faisal

回答

0
onQueryTextSubmit: 

當用戶提交查詢調用。這可能是由於按鍵盤上的一個鍵 或由於按下了一個提交按鈕。收聽者 可以通過返回true來覆蓋標準行爲,以指示它已處理提交請求 。否則,返回false讓SearchView通過啓動任何關聯的意圖來處理提交。

onQueryTextSubmit函數返回true。 若要檢查字符串是否爲空,請使用 TextUtils.isEmpty()如果字符串爲空或長度爲零,則返回true。

相關問題