2017-01-25 1 views
0

백그라운드 작업으로 데이터를 보내고 처리 할 수 ​​있지만 데이터를 다시 tab1로 가져 오려고합니다. 이것은 내가 저주 받아 왔어. BackgroundTask에서 Tab으로 변수를 전달

내가 backgroundtask

protected void onPostExecute(String result) 
{ 
} 

에 내가 원하는 데이터를 볼 수 있습니다 내 활동

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

에서 만든하지만 캔트 ... 도움말 ... 내 탭 활동에 다시 얻을

답변

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 
    } 
} 
+0

대답했다 생각을 -하지만 난 이동이 01-26 14 sing--에 대한 직전 : 02 : 22.823 : E/AndroidRuntime (646) : 치명적인 예외 : 주를 –