我正在使用带有json数组的可扩展listview。我得到了sample code
我的问题是如何将子标题作为字符串。点击子列表时我需要子数据。
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
GlobalData.childheader=ListChildXXXXXXXXX.get(
Listparent.get(groupPosition)).get(
childPosition);
}
没有执行。请帮忙
答案 0 :(得分:2)
ListChildXXXXXXXXX究竟是什么?那是JSON吗?还有什么是Listparent?请发布更多代码,以便我们了解onChildClickListener之前的情况。
你所做的对我来说似乎没问题,这是我的onChildClickListener的一个例子:
private ArrayList<Page> headerPagesArray;
private HashMap<String, ArrayList<Page>> childPagesArray;
... SOME CODE TO MAKE THIS ALL WORK ...
lvListMenu.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Page childPage = childPagesArray.get(headerPagesArray.get(groupPosition).getPageId()).get(childPosition);
GoToPageEvent event = new GoToPageEvent("GoToPage", childPage);
EventBus.getDefault().postSticky(event);
return true;
}
});
在此示例中,headerPagesArray是对象的ArrayList,而childPagesArray是ArrayList的ArrayList&gt;其中string是父页面的页面ID。
编辑:
在解释了什么之后确定,这应该有用:
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
GlobalData.childheader=ListChildXXXXXXXXX.get(
ListChildTerbaru.get(groupPosition)).get(
childPosition);
}
---更新2 ---
啊,经过仔细阅读后,我发现问题是什么......
您尝试使用ChildTerbaru对象(或之前的Parent对象)调用.get(),而应使用简单的int调用它。
所以你的电话必须是这样的:
GlobalData.childheader=ListChildXXXXXXXXX.get(groupPosition).get(childPosition);
在此之后,应该采取GlobalData.childheader属于ChildTerbaru
类型的一切