我有一个Exapandable Listview,当有人点击一个组行时,需要动态添加子行。最好的方法是将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
}
}
}
答案 0 :(得分:1)
查看OnGroupClickListener
文档,如果您处理了点击,则只需要返回true。
<强>返回强>
如果处理了点击,则为真
如果您想跟踪其他一些真/假结果(例如json响应的空白),它应该在概念上和字面上在别处处理。例如,您可以在单击发生时显示列表项上的小进度指示器(返回true
,因为您显然处理了单击),并在网络请求成功完成时停止进度条或失败。