我有一个 Android 片段,它使用 AsyncTask 请求网页并检索应显示在 TextView 中的页面标题。我在 onCreateView() 中调用 AsyncTask。
问题是在 AsyncTask 完成以及创建和显示片段视图之前存在明显的延迟。它似乎没有异步运行。
代码如下:
GetWebsiteAsyncTask getWebsiteAsyncTask = new GetWebsiteAsyncTask();
String websiteTitle = getWebsiteAsyncTask.execute().get();
websiteViewModel.setTitle(websiteTitle);
将 AsyncTask 定义为:
class GetWebsiteAsyncTask extends AsyncTask<Void, Void, String> {
private static final String TAG = GetWebsiteAsyncTask.class.getName();
@Override
protected String doInBackground(Void... voids) {
try {
Document doc = Jsoup.connect("https://www.google.com").get();
return doc.title();
} catch (Exception e) {
Log.e(TAG, Log.getStackTraceString(e));
}
return null;
}
}