Android 搜索框 使用SearchView簡單實現(xiàn)(奶瓶)

GitHub源碼地址:https://github.com/zlw1347822194/SearcohViews

1,導(dǎo)入一下design的依賴

Paste_Image.png

2,布局文件很簡單,只有兩個控件
注意:android:iconifiedByDefault 里面最好為 false
讓搜索框默認(rèn)就展開設(shè)置setIconifiedByDefault(false)即可

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context="zlw.com.searcohview.MainActivity">
<SearchView
  android:id="@+id/main_searchview"
  android:queryHint="請輸入搜索內(nèi)容"
  android:iconifiedByDefault="false"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">
</SearchView>
<ListView
android:id="@+id/main_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>

3,代碼部分

   package zlw.com.searcohview;
   import android.support.v7.app.AppCompatActivity;
   import android.os.Bundle;
   import android.text.TextUtils;
   import android.widget.ArrayAdapter;
   import android.widget.ListView;
   import android.widget.SearchView;
   public class MainActivity extends AppCompatActivity {
   private String[] searcoh = {"hhhhh","cccccc","wwwwww","ddddd","aaaaa"};
   private SearchView main_searchview;
   private ListView main_listview;
   @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViews();
}
private void findViews() {
    main_searchview = (SearchView) findViewById(R.id.main_searchview);
    main_listview = (ListView) findViewById(R.id.main_listview);
    main_listview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, searcoh));
    main_listview.setTextFilterEnabled(true);
    main_searchview.setOnQueryTextListener(new SearchView.OnQueryTextListener() // 設(shè)置搜索文本監(jiān)聽{
        @Override
        public boolean onQueryTextSubmit(String query) {//搜索時觸發(fā)事件
            return false;
        }
        @Override
        public boolean onQueryTextChange(String newText) {//搜索時根據(jù)文本框動態(tài)改變搜索內(nèi)容
            if (!TextUtils.isEmpty(newText)){
                main_listview.setFilterText(newText);
            }   else {
                main_listview.clearChoices();
            }
            return false;
        }
    });
}
}

4,實例:如下!


GIF.gif

只供學(xué)習(xí)和參考,有什么不足請大牛指點,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,828評論 25 709
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,842評論 2 45
  • 也許是我太懷舊了吧? 我對你總會忍不住多看兩眼。 你像一位孤獨的老人,坐落在一個僻靜的角落! 你懷中長滿了荒草,頭...
    耀舉閱讀 434評論 8 12
  • 九品城市本次團購的產(chǎn)品(越南紅心火龍果)已經(jīng)分揀完成了。 這次感謝九品兄弟姐妹的齊心協(xié)力! 馬上確認(rèn)系統(tǒng)銷售數(shù)量,...
    奇奇_433d閱讀 217評論 0 0
  • 最近的我正在經(jīng)歷這樣的一個令人頭痛的事,那就是――牙疼。老人常說牙疼不是病,疼起來要人命。今天也就是2017年8...
    妃沐閱讀 519評論 0 0

友情鏈接更多精彩內(nèi)容