1

我有一个可扩展列表视图,当有人单击组行时,它需要动态添加子行。最好的方法是向我的服务器发送一个 AsyncHttp 请求,然后服务器用我解析成的 json 和 Object 进行响应。这样做的问题是,如果 json 为空,我需要在 OnClickGroupListener 上返回 true,如果 json 有数据,则需要返回 false。我该怎么做呢?

更新** * ****

我将以下内容添加到我的代码中:

    private boolean childrenLoaded;
 public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
            if(!childrenLoaded){
                getChildren(i);
            }else{
              return false;
            }
           return true;
        }

public void getChildren(int position){
    //HttpAsync request here
    onSuccess(json){
        childrenLoaded = true;
        if (json has data){
        listview.performclick(arguments for perform click);
        }else{
        exit
        }
    }

}
4

1 回答 1

1

查看OnGroupClickListener文档,如果单击是由您处理的,您似乎只需要返回 true。

退货

如果点击已处理,则为真

如果您想跟踪其他一些真/假结果(例如 json 响应的空性),则应该在概念上和字面上在其他地方处理。例如,您可以有一个小的进度指示器,当单击发生时显示在列表项上(返回true是因为您显然处理了单击),并在您的网络请求以成功或失败完成时停止进度条。

于 2013-08-09T17:49:14.973 回答