listview的过滤
这个也是我自己通过网上找资料,自己写的一个Demos。
成都创新互联是网站建设技术企业,为成都企业提供专业的网站设计制作、网站建设,网站设计,网站制作,网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制适合企业的网站。10年品质,值得信赖!
内容简单,直接代码献上;
public class MainActivity extends Activity {
List
EditText editinput;
ListView listview;
Adapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editinput = (EditText)findViewById(R.id.edit);
listview = (ListView)findViewById(R.id.ydlist);
initdata();
adapter = new Adapter( people);
listview.setAdapter(adapter);
editinput.addTextChangedListener(new watcher());
}
void initdata(){
people.add(new People("张三","1374456"));
people.add(new People("张三小子", "12444455"));
people.add(new People("李一", "1345555"));
people.add(new People("王一", "1355555"));
people.add(new People("王二", "1365555"));
people.add(new People("李三", "13565555"));
people.add(new People("李一", "123555"));
}
class watcher implements TextWatcher{
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
String aa = s.toString();
Pattern p = Pattern.compile(aa);
List
for(int i=0;i People pp = people.get(i); Matcher matcher = p.matcher(pp.getName()+pp.getPhome()); if(matcher.find()){ we.add(pp); } } adapter = new Adapter( we); listview.setAdapter(adapter); } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } } public class Adapter extends BaseAdapter { private List Adapter(List // TODO Auto-generated constructor stub this.people = people; } @Override public int getCount() { // TODO Auto-generated method stub return people.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return people.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub People p = people.get(position); if(convertView==null){ convertView = getLayoutInflater().inflate(R.layout.yd_item, null); } TextView tv1 = (TextView) convertView.findViewById(R.id.ydtext1); TextView tv2 = (TextView) convertView.findViewById(R.id.ydtext2); tv1.setText(p.getName()); tv2.setText(p.getPhome()); return convertView; } } public class People { private String Name ; private String Phome; public String getName() { return Name; } public void setName(String name) { Name = name; } public String getPhome() { return Phome; } public void setPhome(String phome) { Phome = phome; } public People(String name,String phone){ super(); this.Name = name; this.Phome = phone; } } } xml的代码: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > android:id="@+id/edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="82dp" android:ems="10" > android:id="@+id/ydlist" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_below="@+id/edit" >
标题名称:listview的过滤
转载来于:http://scyanting.com/article/pdsisi.html