Нужно нажать кнопку назад, чтобы увидеть обновленный ListView в режиме реального времени
Есть кастом ListView
которые заполняют данные с сервера, используя PHP, и он работает нормально. у меня есть notifyDataSetChanged
для обновления списка. Но проблема в том, что при изменении данных на сервере мне нужно нажать кнопку назад, чтобы увидеть обновленные данные в ListView
, Есть ли лучший способ показать обновленный список, который похож на список WhatsApp.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_seconds);
contlist = (ListView)findViewById(R.id.contlist);
startService(new Intent(this, serv.class));
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(!prefs.getBoolean("firstTime", false)) {
try {
getNumber(seconds.this.getContentResolver());
} catch (JSONException e) {
e.printStackTrace();
}
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
} else {
musers = (ArrayList<mobstat>) mobstat.listAll(mobstat.class);
descAdapter = new DescAdapter(seconds.this, musers, seconds.this);
contlist.setAdapter(descAdapter);
}
intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_TICK);
seconds.this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
descAdapter.notifyDataSetChanged();
}
}, intentFilter);
}
я использую intentfilter
в OnCreate
метод для notifyDataSetChanged
, Я поместил код фильтра намерений в OnStart
, OnResume
метод также, но мне нужно нажать кнопку назад, чтобы увидеть обновленный список. Есть ли лучший способ показать обновленный список в режиме реального времени?
1 ответ
Вам необходимо обновлять данные каждый раз, когда на сервере происходят какие-либо изменения. Но вы можете реализовать Swipe to Refresh
шаблон для достижения этого без необходимости нажимать кнопку назад.
Я предлагаю вам перейти по этой ссылке Основной пример этого!