如何获取ExpandableListView子文本

时间:2014-08-01 06:29:54

标签: android json expandablelistview

我正在使用带有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);

}

没有执行。请帮忙

1 个答案:

答案 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

类型的一切