2015-06-01 2 views
0

Я создаю список флажков из массива, который я получаю с сервера, программным способом. Создается список checkBox, но мне грозит проблема изменения значения в таблице MySQL каждую минуту. Что касается, я должен обновить значения списка флажков в MainActivity. Есть ли способ в Android обновить значения (getText) флажков в MainActivity сразу, как Ajax в JavaScript?Обновите представление в MainActivity сразу с сервера

Что я пытаюсь достичь, чтобы перестроить список флажков в MainActivity, когда значение записи таблицы сразу изменится. Какой подход я могу использовать для достижения этого или лучшего, чего я могу достичь, удалить элемент списка chechbox из xml-файла и затем периодически отправлять новый запрос на сервер?

Я ценю любую помощь.

+0

Используйте AsyncTask, чтобы каждую минуту обновлять значение с сервера. Вот и все .. –

+0

@ End.Game: Я уже использую asynctask, чтобы получить массивList с сервера, как я могу периодически отправлять запрос из метода doInBackground. Я alrady с помощью Handler, но он не работает? – MrPencil

+0

То же, что и конечная игра. В этом случае обработчик хорош. Почему это не работает? –

ответ

1

Попробуйте использовать этот код в вас onPostExecute()

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      new MyAsyncTask().execute(); 
     } 
    }, 5*60*1000); // this is for a gap of 5 minutes 
+0

Я добавил код, чтобы узнать, что я сделал. Я думал, что onPostExecute вызывается, когда метод doInBackground финишируется ?! – MrPencil

0

Может быть, я понимаю, что вы хотите, обновлять информацию с сервера непрерывной. Все еще используя Handler, но так:

final Handler updateInfoHandler; 
protected void onCreate(Bundle savedInstanceState) { 
    ... 
    updateInfoHandler.post(new Runnable() { 
     @Override 
     public void run() { 
      //code update infomation 
      updateInfoHandler.postDelayed(this, 60000);//auto update info each 60s 
     } 
    }); 
} 
+0

@Noguyen: Пожалуйста, см. Мой код. Я сделал это как вы ?! – MrPencil

+0

В моем случае я делаю цикл Handler каждые 60 секунд. С вашим кодом обработчик запускает только время, после 5 минут. Это правильно? –

+0

мой обработчик работает один раз каждые 2 минуты – MrPencil