package com.example.euphemiaxiao.classsearch;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
//import android.support.v7.widget.SearchView;
import android.widget.SearchView;
import android.text.TextUtils;
import android.widget.ArrayAdapter;
import android.widget.ListView; public class ClassSearch extends AppCompatActivity implements SearchView.OnQueryTextListener{ private SearchView sv;
private ListView lv;
private ArrayAdapter<String> adapter;
private final String[] mStrings={"2014211501","2014211502","2014211503","2014211504",
"2015211501","2015211502","2015211503","2015211504"};
//private ArrayList<String> alist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.class_search);
lv=(ListView)findViewById(R.id.lv);
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mStrings);
lv.setAdapter(adapter);
// lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mStrings));
lv.setTextFilterEnabled(true);//设置lv可以被过滤
sv=(SearchView)findViewById(R.id.sv);
sv.setIconifiedByDefault(false);//设置该searchview默认不自动缩小为图标
sv.setOnQueryTextListener(this);//设置事件监听器
sv.setSubmitButtonEnabled(true);//设置显示搜索按钮
sv.setQueryHint("输入班号");//设置默认显示文字 } //单击搜索按钮时激发该方法
@Override
public boolean onQueryTextSubmit(String query) {
return false;
} //用户输入字符时激发该方法
@Override
public boolean onQueryTextChange(String newText) {
if(TextUtils.isEmpty(newText))
{//清除ListView的过滤
lv.clearTextFilter();
}
else
{//使用用户输入的内容对ListView的列表项进行过滤
lv.setFilterText(newText);
}
return false;
}
}

上面是classsearch代码

 
关于listview,开始报错在ArrayAdapter<String>,错误是指向空指针。这里报错的主要原因来源于setContentView(R.layout.class_search),因为引向的不对所以理所应当调用一直是空指针。一定要看准你所调用的layout是哪个。之前有两个layout,引用错误导致一直报错,后来本人急性子,直接删除了另外一个,才发现这里的错误,写成另一个layout了。
 
关于searchview,报错在sv=(SearchView)findViewById(R.id.sv),错误是:

android.widget.SearchView cannot be cast to android.support.v7.widget.SearchView

 
这个错误的解决是将import android.support.v7.widget.SearchView
改成import android.widget.SearchView就解决了(虽然并不知道为神马)

Android 中 SearchView的更多相关文章

  1. Android中SearchView修改字体颜色

    首先获取searchView控件,比如在actionbar上获取: SearchView searchView = (SearchView) menu.findItem(R.id.action_sea ...

  2. 详细解读Android中的搜索框—— SearchView

    以前总是自己写的 今天看看别人做的 本篇讲的是如何用searchView实现搜索框,其实原理和之前的没啥差别,也算是个复习吧. 一.Manifest.xml 这里我用一个activity进行信息的输入 ...

  3. 详细解读Android中的搜索框(三)—— SearchView

    本篇讲的是如何用searchView实现搜索框,其实原理和之前的没啥差别,也算是个复习吧. 一.Manifest.xml 这里我用一个activity进行信息的输入和展示,配置方式还是老样子,写一个输 ...

  4. 详细解读Android中的搜索框(二)—— Search Dialog

    Search Dialog是提供搜索的控件之一,还有一个是上次小例子给出的searchView,关于SearchView的东西后面会说到.本次先从Search Dialog说起,让大家慢慢理解andr ...

  5. 理解android中ListFragment和Loader

    一直以来不知Android中Loader怎么用,今天晚上特意花了时间来研究,算是基本上搞明白了,现在把相关的注释和代码发出来,以便笔记和给网友一个参考,错误之处还望大家给我留言,共同进步,这个例子采用 ...

  6. Android中的LinearLayout布局

    LinearLayout : 线性布局 在一般情况下,当有很多控件需要在一个界面列出来时,我们就可以使用线性布局(LinearLayout)了,  线性布局是按照垂直方向(vertical)或水平方向 ...

  7. Android中BroadcastReceiver的两种注册方式(静态和动态)详解

    今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...

  8. Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)

    之前的博文<Android中使用ExpandableListView实现好友分组>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信 ...

  9. Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)

    昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...

随机推荐

  1. 制作CAB包

    制作CAB包 inf文件 INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚 ...

  2. js 小数相加

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...

  3. Oracle_12c_RAC_service_died问题分析处理

    接上篇,通过分析listener日志发现rac1数据库无法连接时出现了listener_20160628.log:28-JUN-2016 07:55:47 * service_died * LsnrA ...

  4. Spring.Net 配置文件

    方法一. 直接在程序配置文件中配置 <configuration> <configSections> <sectionGroup name="spring&qu ...

  5. Foreach 与 Foreach-Object 的区别

    下面两个实例可以看出:   Get-ADGroupMember -Identity "CN=gAPCHN-HGZ-IE10-Users,OU=Groups,OU=Hangzhou - Chi ...

  6. Airbnb创始人:屌丝的逆袭之路

    这位黑发小帅哥名叫Brian Chesky,是Airbnb的联合创始人. 如果在百度一下Airbnb,你就会看到如下事实:Airbnb,即Air Bed and Breakfast,中国名“空中食宿” ...

  7. CoreProfiler/NanoProfiler

    使用CoreProfiler/NanoProfiler实现跨平台&应用的整合性能调试 摘要 NanoProfiler是一个开源.NET性能调试类库,CoreProfiler是其.NET Cor ...

  8. ShareSDK(iOS版)开发实践:自定义授权视图和分享视图导航栏

    最近很多人问ShareSDK的授权视图和分享视图的导航栏样式与应用风格不一致,能否修改导航栏的样式?那么这里我就2.6.1版本进行说明(还在使用1.x版本的朋友建议升级到2.x版本,在新版本中可定制的 ...

  9. 初识Java——一维数组的创建及使用

    数组作为对象是允许使用new关键字进行内存分配的,在使用数组前,必须首先定义数组的变量所属的类型.一维数组的创建有两种方法: 1,先声明,再用new运算符进行内存分配 数组元素类型+数组名字[] 数组 ...

  10. 获得指定数据库中指定块表中所有实体的id

    该函数也使用外部指定图纸中的数据库中的块 Int getIdsByDwgBlkName(AcDbDatabase *pDwg, CString strBlkName, AcDbObjectIdArra ...