当前位置: 移动技术网 > IT编程>移动开发>Android > Android SearchView搜索框组件的使用方法

Android SearchView搜索框组件的使用方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

国产邪恶漫画,固安县政府门户网,恶魔公主天使心

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 2016/5/5.
 */

public class searchactivity extends baseactivity implements searchview.onquerytextlistener{

 private searchview searchview;
 private listview listview;
 private arrayadapter<string> arrayadapter;
 private arraylist<string> arraylist = new arraylist<string>();
 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<object>(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<string> msearchlist = new arraylist<string>();
 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<object>(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

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >

 <android.support.v7.widget.toolbar
 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" />

 <linearlayout
 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">

 <searchview
 android:id="@+id/searchview"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:iconifiedbydefault="false"
 android:background="@drawable/shape_search"
 android:queryhint="请输入您要查找的内容"/>

 <button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="返回"/>

 </linearlayout>

 <tablerow
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_gravity="right"></tablerow>

 <listview
 android:id="@+id/listview"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:background="#969696"/>

</linearlayout>

大家还可以参考:android搜索框组件searchview的基本使用方法 进行深入学习。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网