갱신 1AsyncTask를 : 활동에 값을 전달 (에서 onCreate 법)
활동
public Integer _number = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
if (_number >0)
{
Log.d("onSuccessfulExecute", ""+_number);
}
else
{
Log.d("onSuccessfulExecute", "nope empty songs lists");
}
}
public int onSuccessfulExecute(int numberOfSongList) {
_number = numberOfSongList;
if (numberOfSongList >0)
{
Log.d("onSuccessfulExecute", ""+numberOfSongList);
}
else
{
Log.d("onSuccessfulExecute", "nope empty songs lists");
}
return numberOfSongList;
}
최종 갱신 1
UPDATE : AsynchTask 자체 외부 클래스를 갖는다. 활동 AsyncTask를 onPostExecute() ...에서 값을 전달하는 방법
내 코드 ((onPostExecute에서 값을 반환)와 UI에 업데이트하지만 난 활동 변수를 설정하는 방법을 찾고 있어요 않습니다 NumberOfSongList
) AsynchTask에서 오는.
AsyncTask를 클래스 :
@Override
public void onPostExecute(asynctask.Payload payload)
{
AsyncTemplateActivity app = (AsyncTemplateActivity) payload.data[0];
//the below code DOES UPDATE the UI textView control
int answer = ((Integer) payload.result).intValue();
app.taskStatus.setText("Success: answer = "+answer);
//PROBLEM:
//i am trying to populate the value to an variable but does not seems like the way i am doing:
app.NumberOfSongList = payload.answer;
..............
..............
}
활동 :
public Integer NumberOfSongList;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Several UI Code
new ConnectingTask().execute();
Log.d("onCreate", ""+NumberOfSongList);
}
'Log.v()'호출에서'NumberOfSongsList'를보기를 기대한다면'AsyncTask'가 작업을 끝내지 않았기 때문에 발생하지 않을 것입니다. 정확하게'asynctask.PayLoad' 응답입니까? – Luksprog
Log.d ("onCreate ....")에서 업데이트되지 않습니다. asyncTask 및 스레드의 오버 헤드로이 문제가 발생합니다. 나중에 값이 업데이트되었는지 확인 했습니까? – eyespyus
예 log.di에서 업데이 트되지 않습니다. .. 그게 내가 왜 도움이 필요 ... 그래, 그것은 onPostExecute에서 값을 업데이 트하고 그것을 볼 수 있지만 활동에 없습니다. –