首先,创建例如对象User
:
public class User{
String name;
String title;
String UrlImage;
// setter
// getter
}
2.然后创建一个ListAdapter extends BaseAdapter
ListView中
填充数据0
(看从AndroidHive这个tutoruel)
另见this tutoriel(法语)从TutoZone.info来看看如何在custiom适配器填充数据
对于搜索fonctionality,创建layout layout_search包含EditText
searchEditText
4.包括每个布局此布局包含一个ListView与您的数据(从JSON)
5.在你asynckTask,添加每个JsonObject
至A ArrayList<User>
,在解析你将有一个ArrayList的结束包含所有数据[User(name, title,url)]
的,人口在你的ListView
6. BVack到搜索fonctionality,每个活动添加一个侦听到EDITTEXT:addTextChangedListener:
EditText fillSearch=(EditText)findViewById(R.id.searchEditText);
fillSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
@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
// TODO Auto-generated method stub
String text = fillSearch.getText().toString().toLowerCase(Locale.getDefault());
ArrayList<User> list = search(text); // our function
}
});
返回列表
7.添加搜索方法中包含的所有数据ythat我们搜索(开始与用户的EditText输入的文本):
public ArrayList<User>search(String s)
{
ArrayList<User> list= new ArrayList<User>();
for (User u: listeUsers) { // listUsers= contains all data parsed in asynckTask
if(User.getTitle().toLowerCase().startsWith(s))
{
list.add(u);
}
}
return list;
}
活动是否具有不同的自定义视图不同的片段? – user1728071 2014-10-07 10:59:14
http://www.survivingwithandroid.com/2012/10/android-listview-custom-filter-and.html – 2014-10-07 11:05:09
主页中的十个类别作为按钮,我用意图打开指定的活动。片段仅用于带导航抽屉的主页。 – 2014-10-07 11:09:48