Android 列表视图搜索
这是我使用自定义适配器编写的代码,我用mysql数据填充了listview,但在edittext中进行搜索时结果为零Android 列表视图搜索,android,mysql,listview,Android,Mysql,Listview,这是我使用自定义适配器编写的代码,我用mysql数据填充了listview,但在edittext中进行搜索时结果为零 lst=(ListView) findViewById(R.id.listViews); search = (EditText) findViewById(R.id.search); items=new ArrayList<Client_information>(); adapter=new Clie
lst=(ListView) findViewById(R.id.listViews);
search = (EditText) findViewById(R.id.search);
items=new ArrayList<Client_information>();
adapter=new Client_storeAdapter(getApplicationContext(),items);
lst.setAdapter(adapter);
Thread thread=new Thread(doInBackground);
thread.start();
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
adapter.getFilter().filter(cs);
adapter.notifyDataSetChanged();
Log.d("hello", "hello");
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { }
@Override
public void afterTextChanged(Editable arg0) {}
});
}
Runnable doInBackground=new Runnable()
{
@Override
public void run()
{
items = Client_service.getAllRadioclient(myValue);
runOnUiThread(runOnUi);
}
};
Runnable runOnUi=new Runnable()
{
@Override
public void run()
{
for(Client_information radioitems:items)
{
adapter.add(radioitems);
}
adapter.notifyDataSetChanged();
}
};
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
MainActivity.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
lst=(ListView)findViewById(R.id.ListView);
search=(EditText)findViewById(R.id.search);
items=newarraylist();
adapter=new Client\u storeAdapter(getApplicationContext(),items);
lst.setAdapter(适配器);
螺纹=新螺纹(doInBackground);
thread.start();
search.addTextChangedListener(新的TextWatcher(){
@凌驾
public void onTextChanged(字符序列cs、int arg1、int arg2、int arg3){
//当用户更改文本时
adapter.getFilter().filter(cs);
adapter.notifyDataSetChanged();
Log.d(“你好”、“你好”);
}
@凌驾
public void beforeTextChanged(字符序列arg0、int arg1、int arg2、int arg3){}
@凌驾
public void posterextchanged(可编辑arg0){}
});
}
Runnable doInBackground=new Runnable()
{
@凌驾
公开募捐
{
items=客户端\服务.getAllRadioclient(myValue);
runOnUiThread(runOnUi);
}
};
Runnable rununui=new Runnable()
{
@凌驾
公开募捐
{
用于(客户信息放射性项目:项目)
{
适配器。添加(放射性项目);
}
adapter.notifyDataSetChanged();
}
};
}
这是我使用自定义适配器编写的代码,我用mysql数据填充了listview,但在edittext中进行搜索时结果为零
lst=(ListView) findViewById(R.id.listViews);
search = (EditText) findViewById(R.id.search);
items=new ArrayList<Client_information>();
adapter=new Client_storeAdapter(getApplicationContext(),items);
lst.setAdapter(adapter);
Thread thread=new Thread(doInBackground);
thread.start();
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
adapter.getFilter().filter(cs);
adapter.notifyDataSetChanged();
Log.d("hello", "hello");
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { }
@Override
public void afterTextChanged(Editable arg0) {}
});
}
Runnable doInBackground=new Runnable()
{
@Override
public void run()
{
items = Client_service.getAllRadioclient(myValue);
runOnUiThread(runOnUi);
}
};
Runnable runOnUi=new Runnable()
{
@Override
public void run()
{
for(Client_information radioitems:items)
{
adapter.add(radioitems);
}
adapter.notifyDataSetChanged();
}
};
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
MainActivity.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
在Manifest.xml中
android:windowSoftInputMode="stateHidden"
像这样
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:windowSoftInputMode="stateHidden">
发布mysql数据库适配器中的筛选代码。我试过你的方法,但不管用,兄弟。