【问题标题】:Editing Fragment UI items with AsynTask使用 AsyncTask 编辑 Fragment UI 项
【发布时间】:2018-08-13 17:58:04
【问题描述】:

我正在开发一个可以在本地网络上查找计算机的 Android 应用程序。它在后台使用 AsynTask 来发现设备,我也使用 fragment 页面来显示结果。问题是我无法让 AsyncTask 编辑片段项目。我该如何处理呢

【问题讨论】:

  • 现在,如果您添加了一些代码,我们就会知道您实际在做什么

标签: java android user-interface android-fragments kotlin


【解决方案1】:

您可以使用接口在 AsyncTask 和您的片段之间进行交互:

interface TaskListener {
    void onTaskComplete(Data data);
}

实现片段...任务监听器

class YourFragment implements TaskListener {
// your fragment code is here

    @Override
    public void onTaskComplete(Data data) {
        //this method will call from AsyncTask
        //update your fragment ui here
    }
}

将TaskListener分配给构造函数中的AsyncTask

public AsycTask(TaskListener listener) {
    this.listener = listener;
}

在AsyncTask的“onPostExecute”方法中调用onTaskComplete:

@Override
protected void onPostExecute(Data data) {
    listener.onTaskComplete(data);
}

【讨论】:

    【解决方案2】:

    只有创建片段的活动才能访问片段。在活动中创建一个函数来更改片段中的元素。然后从 AsyncTask 调用该函数,并在函数参数中传递片段所需的任何信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多