从AsyncTask单独的线程访问片段对象

时间:2018-05-04 01:40:11

标签: android android-fragments android-asynctask java-threads

我从片段中调用asyncTask来进行网络连接。当它正在运行时,我需要能够禁用片段中的按钮,直到AsyncTask调用onPostExecute。

我唯一的问题是我无法从doInBackground访问这样的按钮:

λ php artisan route:cach
Route cache cleared!

In Route.php line 880:

  Unable to prepare route [api/user] for serialization. Uses Closure.

它出现了:

Button mButtom = mActivity.findViewById(R.id.testButton);

2 个答案:

答案 0 :(得分:2)

我们的函数名为runOnUIThread

@Override protected String doInBackground(String... strings) {
    activity.runOnUiThread(new Runnable() {
      @Override public void run() {
    //do your action
      }
    });
    return "";
  }

答案 1 :(得分:0)

要与Break at first line in PHP scripts option的用户界面进行互动,请覆盖AsyncTaskonPreExecuteonPostExecute中的一个或多个。只要您在onProgressUpdate中拨打publishProgress,就会调用后者。