Java 我的searchview筛选器不工作
当我输入时,我想在下面的列表视图中显示过滤后的结果,该视图仅以M开头,以此类推。但现在它不起作用了。 当我输入v时,返回开始菜单 mycode.javaJava 我的searchview筛选器不工作,java,android,Java,Android,当我输入时,我想在下面的列表视图中显示过滤后的结果,该视图仅以M开头,以此类推。但现在它不起作用了。 当我输入v时,返回开始菜单 mycode.java package com.example.acerpredator.biologisma; import android.app.Activity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Vie
package com.example.acerpredator.biologisma;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.Toast;
public class penemu extends AppCompatActivity implements SearchView.OnQueryTextListener{
ListView list;
SearchView search_view;
ArrayAdapter<String> adapter;
String[] NamaNegara = {
"Indonesia",
"Malasyia",
"Thailand",
"Filipina",
"Kamboja",
"Vietnam",
"Singapura",
"Laos"
};
Integer[] GbrBendera={
R.drawable.istilah,
R.drawable.biologix,
R.drawable.biologix,
R.drawable.istilah,
R.drawable.biologix,
R.drawable.biologix,
R.drawable.biologix,
R.drawable.biologix
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_penemu);
search_view = (SearchView) findViewById(R.id.search_view);
BenderaAdapter adapter = new BenderaAdapter(this, NamaNegara, GbrBendera);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String Pilihitem = NamaNegara[+position];
Toast.makeText(getApplicationContext(), Pilihitem, Toast.LENGTH_SHORT).show();
}
});
search_view.setOnQueryTextListener(this);
//menquery data text dari widget searchview di class saat ini this = MainActivity
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);//memfilter adapter pada textbaru
return false;
}
@Override
public boolean onQueryTextSubmit(String query) {
return false; //submit query
}
}
package com.example.acerprader.biologisma;
导入android.app.Activity;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.SearchView;
导入android.widget.Toast;
公共类penemu扩展AppCompatActivity实现SearchView.OnQueryTextListener{
列表视图列表;
搜索视图搜索视图;
阵列适配器;
字符串[]NamaNegara={
“印度尼西亚”,
“马拉西亚”,
“泰国”,
“菲律宾”,
“坎波亚”,
“越南”,
“新加坡”,
“老挝”
};
整数[]GbrBendera={
R.drawable.istilah,
R.drawable.biologix,
R.drawable.biologix,
R.drawable.istilah,
R.drawable.biologix,
R.drawable.biologix,
R.drawable.biologix,
R.drawable.biologix
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_penemu);
search\u view=(SearchView)findViewById(R.id.search\u view);
BenderaAdapter=新的BenderaAdapter(此,NamaNegara,GbrBendera);
list=(ListView)findViewById(R.id.list);
list.setAdapter(适配器);
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串pilihiitem=NamaNegara[+位置];
Toast.makeText(getApplicationContext(),Pilihitem,Toast.LENGTH_SHORT).show();
}
});
search_view.setOnQueryTextListener(这个);
//menquery数据文本dari小部件searchview di类saat ini this=main活动
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
adapter.getFilter().filter(newText);//memfilter适配器pada textbaru
返回false;
}
@凌驾
公共布尔值onQueryTextSubmit(字符串查询){
返回false;//提交查询
}
}
my menu.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dp" >
<!-- menampilkan widget searchview -->
<SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/search_view"
android:iconifiedByDefault="false"
android:padding="2dp"
android:queryHint="Cari disini...." />
<!-- menampilkan listview -->
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
</LinearLayout>
为什么要使用两个适配器?