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. 面试陷阱1:Integer类型的比较

    public class Test01 { public static void main(String[] args) { Integer f1 = 100, f2 = 100, f3 = 150, ...

  2. 2015年百度实习生前端笔试题上海卷a

    1.写出javascript运行结果:alert(‘5’+5); 结果:’55’ 2.写出javascript运行结果:for(var i=0; i<10; i++){} alert(i); 结 ...

  3. 手把手教你在Ubuntu上分别安装Nginx、PHP和Mysql

    手把手教你在Ubuntu上分别安装Nginx.PHP和Mysql

  4. Mysql引擎中MyISAM和InnoDB的区别有哪些?

    简单的概括一下 InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和 ...

  5. 老男孩Python全栈开发(92天全)视频教程 自学笔记07

    day7课程内容: Python的编码解码 二进制 --->ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位 ------->gb2312:只能6700多个中文,1980年 -- ...

  6. 在kali安装中文输入法的教程

    1终端下vi /etc/apt/sources.list  修改镜像元  (按E进行编辑 具体实例不同可能没有)  按 i进入编辑 擦除原有的几个官方源改为deb http://mirrors.ali ...

  7. ElasticSearch AggregationBuilders java api常用聚会查询

    以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置.index的mapping为: "mappings": { "pl ...

  8. 网站入住各大搜索引擎的seo优化技巧

    最近在公司上班的时候做了一个工业物联网的项目,上层主管提出要求,让这个网站入住各大搜索引擎,也就是说在各大搜索引擎中输入与网站相关的关键字就能搜索到我们自己的网站.刚开始自己一脸懵逼,因为之前自己并没 ...

  9. 最简化搭建yum仓库

    在使用rpm安装软件包时,时常会遇到一些软件依赖性问题,如果是简单的一两个依赖性还是可以手动解决.要是出现大量的依赖性问题的话会让增大工作量.yum是一个很好的前端程序,可解决软件包相关依赖性,可在多 ...

  10. 遍历对象属性(for in、Object.keys、Object.getOwnProperty)

    js中几种遍历对象的方法,包括for in.Object.keys.Object.getOwnProperty,它们在使用场景方面各有不同. for in 主要用于遍历对象的可枚举属性,包括自有属性. ...