PDA

View Full Version : listview با قابلیت فیلترینگ



m_nejad
شنبه 25 مرداد 1393, 22:45 عصر
با dbhelper یک Cursor را پر کرده و به یک listview وصل کردم برای فبلتر کردن لیست نمونه سورس های زیادی دیدم اکثرشون listview را با کد پر میکنند (بدون دیتابیس) و یا خیلی پیچیده کردند! (البته از تجربه خیلی کم من توی اندرویده)
راهنمایی لطفا

1yaram
شنبه 25 مرداد 1393, 23:24 عصر
این از یه کد ساده:چشمک:


import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;


public class SearchAll extends Activity{
EditText et;
ListView lv;
Button btn;
ArrayList<TagsData> result=new ArrayList<TagsData>();

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.search_all);
lv=(ListView)findViewById(R.id.listView1);
et=(EditText)findViewById(R.id.editText1);
btn=(Button)findViewById(R.id.search_btn);


lv.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> paramAdapterView,
View paramView, int paramInt, long paramLong) {
// TODO Auto-generated method stub
String str=result.get(paramInt).getDetails();
Intent i=new Intent(paramAdapterView.getContext(),Show_Activity .class);
i.putExtra("text", str);
startActivity(i);

}

});
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String key=et.getText().toString();



result=MainDBDataHelper.GetAllByQuery(getBaseConte xt(), key);

if(result.size()>0)
{
ArrayList<String> strings=new ArrayList<String>();
for(TagsData td:result)
{
strings.add(td.getName());
}
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1,strings);
lv.setAdapter(adapter);


}
else
{
lv.setAdapter(null);

}




}
});

}


}