OnGroupClickListener 函数中的 Android Async

标签 android android-listview

我有一个可扩展 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
        }
    }

}

最佳答案

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

Returns

True if the click was handled

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

关于OnGroupClickListener 函数中的 Android Async,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151950/

相关文章:

android - 在拉动刷新时保留滚动位置

android - 动态 ListView 标题

android - 设置 ListView 的可见性

android - 非法状态异常 : Fragment already added appears if a App was very long in the background

java - 通过Java提取HTML中两个链接之间的文本

java - 我需要在我的服务器上做什么才能与 Android 应用程序通信?

android - ActionbarCompat 的 MultiChoiceAdapter NoSuchMethodException : startActionMode

android - 如何在 facebook android.. 中获得对接受的应用程序请求的响应?

Android 在像 Gmail 一样关闭应用程序时接收 FCM

android - ListView 中的 ImageView