这个也是我自己通过网上找资料,自己写的一个Demos。
内容简单,直接代码献上;
public class MainActivity extends Activity {
List<People> people = new ArrayList<People>() ;
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<People> we = new ArrayList<People>();
for(int i=0;i<people.size();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<People> people = new ArrayList<People>();
Adapter(List<People> people) {
// 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的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
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" >
<requestFocus />
</EditText>
<ListView
android:id="@+id/ydlist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@+id/edit" >
</ListView>
</RelativeLayout>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。