首先,創建例如對象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