将变量从BackgroundTask传递到Tab

时间:2017-01-25 22:54:51

标签: android android-activity background-task

我将数据发送到要处理的后台任务,但希望将数据恢复到tab1。这让我感到很沮丧。

这是根据我的活动

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

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

protected void onPostExecute(String result)
{
}

但是无法将其恢复到我的标签活动中..帮助...

1 个答案:

答案 0 :(得分:1)

您需要使用Interface将结果返回给活动。

/*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
   }
}