【发布时间】:2013-06-16 18:13:04
【问题描述】:
我正在使用以下代码:
//(...)
translationTextView.setText("Searching for translation...");
translationTextView.setVisibility(View.VISIBLE);
myAsyncTask = (MyAsyncTask) new MyAsyncTask().execute(someString);
try {
//As I understand it should wait here until AsyncTask is completed. But why for the time of execution translateTextView value is ""?
translationTextView.setText(translateTask.get() + "<BR>");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
问题是 translationTextView 的值是 "" 直到 myAsyncTask 完成。所以看起来像
translationTextView.setText("Searching for translation...");
未被调用。我做错了什么?
【问题讨论】:
-
我认为这只是您的问题中的一个错字,但您正在初始化“myAsyncTask”但调用“translateTask”。无论哪种方式,您都不应该在主 UI 线程上调用 get。
标签: java android multithreading android-asynctask