【发布时间】:2018-05-04 01:40:10
【问题描述】:
我正在从片段中调用 asyncTask 来进行网络连接。在它运行时,我需要能够禁用片段中的按钮,直到 AsyncTask 调用 onPostExecute。
我唯一的问题是我无法从 doInBackground 访问这样的按钮:
Button mButtom = mActivity.findViewById(R.id.testButton);
它提出了:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalStateException: The current thread must have a looper!
【问题讨论】:
标签: android android-fragments android-asynctask java-threads