gpt4 book ai didi

java - 如何报告不同类(class)的进度

转载 作者:行者123 更新时间:2023-12-02 07:21:24 27 4
gpt4 key购买 nike

我有一个从网站下载信息的类(class)。我目前正在使用 AsyncTask 来获取它,因此用户界面将保持响应。

我了解如何使用publishProgress和onProgessUpdate更新GUI,但是如果我在不同的类中有一个大的方法(或函数)怎么办?

用代码展示更容易:

@Override
protected ArrayList<Card> doInBackground(Void... voids)
{
Looper.prepare();
publishProgress("Creating object");
SomeClass someClass = new SomeClass();
publishProgress("Performing a long operation");
ArrayList<Card> = someClass.getCards();//This method takes a long while. I would like to call the "publishProgress" method from the "someClass".

return athopGetter.getCards();
}

最佳答案

您可以将任务引用传递给“someClass”,因为publishProgress是 protected final,您需要实现自己的发布方法,该方法只需调用publishProgress即可,

task = new AsyncTask<...>() {
...
public void myPublish(Progress... values) {
publishProgress(values);
}
};

或者您可以使用反射直接调用publishProgress。

关于java - 如何报告不同类(class)的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14171461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com