1.搜索框(SearchView)的功能与用法
SearchView是搜索组件,其可以让用户在文本框内输入文件,并允许通过监听器监听用户输入。当用户输入完成后提交搜索,可通过监听器执行实际的搜索。
常用方法如下:
◆setIconfiedByDefault(boolean iconified):设置该搜索框默认是否自动缩小为图标;
◆setSubmitButtonEnabled(boolean enabled):设置是否显示搜索按钮;
◆setQueryHint(CharSequence hint):设置搜索框内默认显示的提示文本;
◆setOnQueryTextListener(SearchView.OnQueryTextListener listener):为该搜索设置事件监听器;
源码实战:
功能:在界面布局文件中定义一个SearchView和ListView组件,当用户在搜索框中输入数据时将搜索到的数据自动动态的填充到ListView组件中。
(1)src/MainActivity.java
package com.example.searchviewtest;
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.Toast;
public class MainActivity extends Activity implements OnQueryTextListener{
private SearchView searchView = null;
private ListView listView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
searchView = (SearchView)findViewById(R.id.search);
listView = (ListView)findViewById(R.id.list);
/**
* 为ListView添加adapter
* */
final String[] data= {"中国","巴基斯坦","中间","米国","中部","只是测试"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true); //使能文本过滤器
/**
* 设置SearchView相关属性
* */
searchView.setIconifiedByDefault(false);//设置SearchView默认是否自动缩小为图标
searchView.setOnQueryTextListener(this);//为该SearchView组件设置事件监听器
searchView.setSubmitButtonEnabled(true);//设置该SearchView显示搜索按钮
searchView.setQueryHint("请输入关键字");
}
/**
* 动态显示搜索到的结果
* */
@Ov