0
我想填充ListFragment,使用自定義ArrayAdapter和自定義數據對象。持久遠程存儲是映射到我創建的自定義數據對象的Parse數據集。問題是我無法在饋送給arrayadapter的數組列表中填充來自Parse的查詢響應。當我使用虛擬數據執行此操作時,它工作正常。當我處理列表時,它不會。使用自定義適配器填充ListFragment中的ParseObject
希望對此有幫助。
摘錄:
private List<DataItem> itemsList; //Initialize a list of Data Items type
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
itemsList = new ArrayList<DataItem>();
//Parse Initialised here
ParseQuery<ParseObject> query = ParseQuery.getQuery("object");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objectList, ParseException e) {
if(e == null){
addItem(objectList);
} else {
Log.d("List Activity",e.getMessage());
}
}
});
//Static Data Population - This works fine
DataItem item1 = new DataItem();
item.setName("SampleName");
item.setPhone("12345678");
item.setAddress("Mumbai");
//Set Adapter
ListAdapter adapter = new ListAdapter(getActivity(), itemsList);
setListAdapter(adapter);
adapter.notifyDataSetChanged();
}
public void addItem(List<ParseObject> objectList){
for(int i =0; i< objectList.size(); i++){
DataItem item = new DataItem();
item.setName(objectList.get(i).getString("name").toString());
item.setPhone(objectList.get(i).getString("phone").toString());
item.setAddress(objectList.get(i).getString("address").toString());
itemsList.add(item); //This is not working
}
}
感謝羅伯特,而我嘗試使用該適配器的結果所需,Parsequeryadapter做同樣的伎倆。現在我有一個自我實現的parsequeryadapter使用你的邏輯:D謝謝 – 2015-01-24 01:44:37