我想在我的可擴展ListView中顯示我的孩子數據只有一次。但不幸的是它顯示不止一次,如你在下面的屏幕截圖中看到的:試圖顯示我的孩子數據只有一次在可擴展列表查看
編輯:我編輯了我的代碼StoreArrayAdapter.java
和AllStores.java
。我還添加了新的截圖,但我仍然無法設法只顯示一次我的孩子數據。不過,我認爲我的代碼現在看起來更清晰。
在getChildView
方法我用了下面的代碼行:
final Store store = (Store) getChild(groupPosition, groupPosition);
在下面的截圖中可以看到,孩子被顯示不止一次,我不想。我只想讓孩子看一次。
鏈接截圖:http://i.imgur.com/LIJSvvC.png
在getChildView
方法我還試圖用下面的代碼行:
final Store store = (Store) getChild(groupPosition, childPosition);
在下面的截圖中可以看到,從其他商店的ID的。所以這沒有解決。
鏈接截圖:http://i.imgur.com/AcTrDrG.png
下面你可以看到我都試過。下面是代碼:
StoreArrayAdapter.java:
public class StoreArrayAdapter extends BaseExpandableListAdapter {
private List<ParentStore> parentStoresList;
private Context context;
public StoreArrayAdapter(Context context, List<ParentStore> parentStoresList) {
this.context = context;
this.parentStoresList = parentStoresList;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_group, null);
}
final ParentStore parentStore = (ParentStore) getGroup(groupPosition);
TextView tvID = (TextView) convertView.findViewById(R.id.txtId);
tvID.setText("Facebook ID: " + parentStore.getChildStoresList().get(groupPosition).getFacebookID());
TextView tvName = (TextView) convertView.findViewById(R.id.txtName);
tvName.setText(parentStore.getChildStoresList().get(groupPosition).getName());
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, null);
}
final Store store = (Store) getChild(groupPosition, groupPosition);
//final Store store = (Store) getChild(groupPosition, childPosition);
TextView title = (TextView) convertView.findViewById(R.id.lblListItem);
title.setText(store.getFacebookID());
return convertView;
}
//More code..
}
下面你可以看到的情況下,整個StoreArrayAdapter.java
你想看到它。
StoreArrayAdapter.java:
鏈接代碼:http://pastebin.com/dDn5g2dp
如果你想太多看我如何在AllStores.java
填充我parentStoresList
。然後你可以在下面的鏈接中看到它。
AllStores.java:
鏈接代碼:http://pastebin.com/JQ8iWktu
東西的代碼是不正確你'populateList ()'方法。我應該看到兩個循環,一個用於父數據,另一個用於子數據。你只有一個循環。我看不到數據中的父母/子女關係;對我來說,它看起來像你正在從父列表中創建一個子列表。 –
@krislarson我編輯了'populateList()'的實現。我認爲父母/子女關係現在看起來更清楚。然而,我還沒有辦法只向我的孩子展示一次。你能再看看我的代碼嗎? – superkytoz