Это кусок кода фрагмента со списком, есть кнопка btnStopAllTask меняет статус задачи. Все работает нормально и список обновляется(знаю почему, просто каждый раз пересоздается адаптер).
Button btnStopAllTask = (Button) view.findViewById(R.id.buttonStopAllTask);
btnStopAllTask.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
contentValues.put(DBHelper.STATUS, statusOff);
database.update(DBHelper.TABLE_TASKS, contentValues, DBHelper.STATUS
+ "=" + String.valueOf(statusStart), null);
onResume();
}
});
//final View viewTimer = getLayoutInflater().inflate(R.layout.timer, null);
return view;
}
public void onResume() {
super.onResume();
dbHelper = new DBHelper(getContext());
database = dbHelper.getReadableDatabase();
userCursor = database.rawQuery("select * from " + DBHelper.TABLE_TASKS + " where "
+ DBHelper.STATUS + "=?", new String[]{String.valueOf(statusStart)});
userCursor.moveToNext();
String[] headers = new String[]{DBHelper.NAME, DBHelper.DURATION_TASK};
adapter = new CustomCursorAdapter(getContext(), R.layout.timer, userCursor, headers,
new int[]{R.id.textViewNameTask, R.id.textViewWithTimer}, 0);
lvWithTaskIsRunningNow.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
public void onDestroy() {
super.onDestroy();
database.close();
userCursor.close();
}
Это часть кода адаптера кастомного (public class CustomCursorAdapter extends SimpleCursorAdapter)
Если запускать через интент то оно работает, но постоянный перезапуск активити бесит(мигает+ задержка)
Подскажите плез. как динамически обновлять список после нажатия кнопки(кнопки обрабатываются в адаптере )??
public void bindView(View view, final Context _context, final Cursor _cursor) {
super.bindView(view,_context,_cursor);
TextView tvWithNameTask = (TextView) view.findViewById(R.id.textViewNameTask);
TextView tvWithTimer= (TextView) view.findViewById(R.id.textViewWithTimer);
ImageButton btnStop = (ImageButton) view.findViewById(R.id.imageButtonStop);
ImageButton btnStart= (ImageButton) view.findViewById(R.id.imageButtonStart);
ImageButton btnPause= (ImageButton) view.findViewById(R.id.imageButtonPause);
contentValues = new ContentValues();
dbHelper = new DBHelper(_context);
database = dbHelper.getWritableDatabase();
btnStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int keyId = _cursor.getInt(_cursor.getColumnIndex(DBHelper.KEY_ID));
contentValues.put(DBHelper.STATUS, IsRunningNow.statusOff);
database.update(DBHelper.TABLE_TASKS, contentValues, DBHelper.KEY_ID
+ "=" + String.valueOf(keyId), null);
//swapCursor(_cursor);
/* Intent intent = new Intent(_context, MainActivity.class);
_context.startActivity(intent);*/
}
});