SearchView简介

SearchView是Android原生的搜索框控件,它提供了一个用户界面,用于用户搜索查询。

SearchView默认是展示一个search的icon,点击icon展开搜索框,如果你想让搜索框默认就展开,可以通过setIconifiedByDefault(false);实现。

SearchView属性

15058989991.jpg?2017427103515

SearchView使用

xml中定义SearchView:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="15dp"

android:orientation="vertical"

tools:context="com.airsaid.searchviewdemo.MainActivity">

android:id="@+id/searchView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:iconifiedByDefault="false"

android:queryHint="请输入搜索内容" />

android:id="@+id/listView"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1" />

Main代码:

public class MainActivity extends AppCompatActivity {

private String[] mStrs = {"aaa","bbb","ccc","airsaid"};

private SearchView mSearchView;

private ListView mListView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mSearchView = (SearchView) findViewById(R.id.searchView);

mListView = (ListView) findViewById(R.id.listView);

mListView.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,mStrs));

mListView.setTextFilterEnabled(true);

// 设置搜索文本监听

mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

// 当点击搜索按钮时触发该方法

@Override

public boolean onQueryTextSubmit(String query) {

return false;

}

// 当搜索内容改变时触发该方法

@Override

public boolean onQueryTextChange(String newText) {

if (!TextUtils.isEmpty(newText)){

mListView.setFilterText(newText);

}else{

mListView.clearTextFilter();

}

return false;

}

});

}

}

效果截图:

15058989992.gif?2017427103152

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐