android RecyclerView實現搜索過濾器導致軟鍵盤無法顯示的問題

今天開發遇到了一個特別奇怪的bug,我所實現的需求是頂上一個Editext,下面是RecyclerView所實現的列表,要實現一個搜索過濾器的功能,這個功能只要在Adapter中實現Filterable接口,重寫getFilter()即可,相對比較簡單。

但是我當我實現完後卻遇到個問題,當我在Edittext中輸入值進行搜索時,搜索出內容時沒問題,繼續輸入,當搜索出沒內容時,軟鍵盤消失,並且無論如何點擊Edittext也無法彈出軟鍵盤。當我在代碼中強制顯示軟鍵盤時,雖然能顯示軟鍵盤,但是輸入無效。

這個問題我找了許久,終於找到了原因,在Adapter的佈局中使用了 自定義TextView,自定義TextView中重寫了

  @Override
    public boolean isFocused() {
        return true;
    }

導致出現這種問題,將這個自定義的TextView換成普通的或者去掉isFocused()方法即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章