gpt4 book ai didi

java - AsynTask 完成工作后返回函数值

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

我有一个返回字符串的函数,里面有一个 AsynTask。我的问题是我的函数必须在 AsynTask 完成工作后返回值!

这是我的代码:

public String getWeather(Context cont,int cityid,String latitude, String longitude){
this.latitude=latitude;
this.longitude=longitude;

new get_scores() {
protected void onPreExecute() {
super.onPreExecute();

}

protected void onPostExecute(Boolean result) {

}
}.execute();

return weatherdata;
}

我想返回天气数据,但在完成 AsynTask 后。可能需要几秒钟。

最佳答案

一种解决方案是从`onPostExecute()返回值。您可以通过正常设置 AsyncTask 来完成此操作,然后将 return 语句更改为类似

public String getWeather(Context cont,int cityid,String latitude, String longitude){
this.latitude=latitude;
this.longitude=longitude;

new get_scores() {
protected void onPreExecute() {
super.onPreExecute();

}

protected void onPostExecute(Boolean result) {

}
}.execute();

return new get_scores().execute();

}

这样做时,您可能需要添加一个进度条/对话框,以便用户不会认为应用程序被卡住。只要任务花费的时间不超过 2 或 3 秒(最多),并且您不希望用户在完成之前能够执行任何其他操作,那么这应该没问题。我会通过使用 try/catch 进行一些错误检查,或者确保返回一些内容,以防应用程序无法返回

关于java - AsynTask 完成工作后返回函数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203900/

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