将变量从 BackgroundTask 传递到 Tab

Passing variable from BackgroundTask to Tab

我正在将数据发送到后台任务进行处理,但想将数据返回到 tab1。这让我感到困惑。

这是根据我的 activity

创建的
BackgroundTask backgroundTaskLogin = new BackgroundTask(Tab1Activity.this);    
backgroundTaskLogin.execute(task,username,password);

我在backgroundtask中可以看到我想要的数据

protected void onPostExecute(String result)
{
}

但无法将其恢复到我的选项卡中 activity.. 求助...

您需要使用 returns 将结果 activity 返回的接口。

/*Create an interface*/
public interface OnTaskCompleted {
    void onTaskCompleted(Integer result);
}

/*Assign the values to the callback functions in AsyncTask*/
public class PerformTask extends AsyncTask<Integer, Integer, Integer> {

    private static int counter;
    private OnTaskCompleted listener;

    public PerformTask(OnTaskCompleted listener) {
        this.listener = listener; //Initialising listener
    }

    @Override
    protected void onPostExecute(Integer result) {
    listener.onTaskCompleted(result); //Assigning values to the callback function
    }     
}

/*Implement the Interface in you activity*/
public class MainActivity extends Activity implements OnTaskCompleted {
   @Override
   public void onTaskCompleted(Integer result) {
        // The result contains the data you need
   }
}