将变量从 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
}
}
我正在将数据发送到后台任务进行处理,但想将数据返回到 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
}
}