Пропали данные от AsyncTask

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Le1b
Сообщения: 20
Зарегистрирован: 09 авг 2013, 13:16

Пропали данные от AsyncTask

Сообщение Le1b » 27 май 2014, 20:57

Посылаю запрос на сервер используя AsyncTask. Сервер отдает отвер в JSON. Я ответ пытаюсь записать в переменную dataResponse. Из MainActivity вызываю метод getDataResponse что бы обработать ответ. В методе onPostExecute в лог выводится ответ, потом через сеттер заношу данные. Но лог сеттера возвращает null. Направьте на путь истинный пожалуйста.
[syntax=java]
@Override
protected String doInBackground(String... urls) {
try {
DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
ResponseHandler<String> responseHandler = new BasicResponseHandler();

HttpPost httpPost = new HttpPost(urls[0]);

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("version", codeVer.toString()));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

content = defaultHttpClient.execute(httpPost, responseHandler);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
return content;
}

@Override
protected void onPostExecute(String content) {
super.onPostExecute(content);
Log.d(MainActivity.MYLOG, "content = " + content);
this.setDataResponse(content);
}

public void setDataResponse(String dataResponse) {
Log.d(MainActivity.MYLOG, "set dataResponse = " + this.dataResponse);
this.dataResponse = dataResponse;
}

public String getDataResponse() {
Log.d(MainActivity.MYLOG, "get dataResponse = " + this.dataResponse);
return this.dataResponse;
}
[/syntax]

Ответить