100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java searchview_Android SearchView搜索框组件的使用方法

java searchview_Android SearchView搜索框组件的使用方法

时间:2020-12-18 12:39:57

相关推荐

java searchview_Android SearchView搜索框组件的使用方法

SearchView是搜索框组件,它可以让用户在文本框里输入文字,通过监听器取得用户的输入,当用户点击搜索时,监听器执行实际的搜索。

本文就为大家分享了SearchView搜索框组件的使用方法,供大家参考,具体内容如下

效果:

代码SearchActivity.java

package com.jialianjia.bzw.activity;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.annotation.SuppressLint;

import android.widget.ListView;

import android.widget.SearchView;

import com.jialianjia.bzw.BaseActivity;

import com.jialianjia.bzw.R;

import com.lidroid.xutils.ViewUtils;

import java.util.ArrayList;

/**

* 搜索

* Created by Gxs on /5/5.

*/

public class SearchActivity extends BaseActivity implements SearchView.OnQueryTextListener{

private SearchView searchView;

private ListView listView;

private ArrayAdapter arrayAdapter;

private ArrayList arrayList = new ArrayList();

private Object[] names;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_search);

names = loadData();

ViewUtils.inject(this);

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

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

listView.setAdapter(new ArrayAdapter(getApplicationContext(),

android.R.layout.simple_expandable_list_item_1, names));

searchView.setOnQueryTextListener(this);

searchView.setSubmitButtonEnabled(false);

}

@Override

public boolean onQueryTextSubmit(String query) {

return false;

}

@Override

public boolean onQueryTextChange(String newText) {

Object[] obj = searchItem(newText);

updateLayout(obj);

return false;

}

public Object[] searchItem(String name) {

ArrayList mSearchList = new ArrayList();

for (int i = 0; i < arrayList.size(); i++) {

int index = arrayList.get(i).indexOf(name);

// 存在匹配的数据

if (index != -1) {

mSearchList.add(arrayList.get(i));

}

}

return mSearchList.toArray();

}

// 更新数据

public void updateLayout(Object[] obj) {

listView.setAdapter(new ArrayAdapter(getApplicationContext(),

android.R.layout.simple_expandable_list_item_1, obj));

}

// 测试数据

public Object[] loadData() {

arrayList.add("aaa");

arrayList.add("aab");

arrayList.add("aac");

arrayList.add("aad");

arrayList.add("abc");

arrayList.add("abcd");

arrayList.add("cdf");

arrayList.add("eda");

arrayList.add("sdfa");

arrayList.add("ddda");

arrayList.add("sssa");

return arrayList.toArray();

}

}

布局activity_search.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="50dp"

android:background="?attr/colorPrimary"

android:theme="@style/AppTheme.AppBarOverlay"

android:fitsSystemWindows="true" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:layout_marginTop="5dp"

android:layout_marginLeft="5dp"

android:layout_marginRight="5dp">

android:id="@+id/searchView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:iconifiedByDefault="false"

android:background="@drawable/shape_search"

android:queryHint="请输入您要查找的内容"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="返回"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="right">

android:id="@+id/listView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="#969696"/>

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。