Я использую пользовательский адаптер для просмотра списка и создал класс для пользовательских данных.
В настоящее время я реализую ListAdapter в классе CustomAdapter.
Используя реализацию ListAdapter, я 'я не получаю notifyDataSetChanged для вызова при добавлении новых данных. Я расширил BaseAdapter и попытался использовать notifyDataSetChanged, он работает, но только когда я нажимаю на другой элемент управления в действии, данные загружаются.
date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
if(isFrom){
from=sdf.format(myCalendar.getTime());
fY.setText(from);
}else{
to=sdf.format(myCalendar.getTime());
tY.setText(to);
}
getTransactions();
}
};
getTransactions ();будет вызываться, когда дата выбрана в поле из поля . Но только когда я щелкаю по полю, данные появляются в ListView.
private void getTransactions() {
Cursor c=billnDB.getBill();
billData.clear();
TransactionBillData data=new TransactionBillData();
data.setBill_number("ID");
data.setBill_number("Bill Number");
data.setDate("Date");
data.setTotal("Total");
billData.add(data);
if(c.moveToFirst()){
Log.v("Products Moved to First", "True");
do{
Log.v("Bill Number",c.getString(c.getColumnIndex("number")));
data=new TransactionBillData();
data.setBill_number(c.getString(c.getColumnIndex("number")));
data.setDate(c.getString(c.getColumnIndex("date")));
data.setTotal(c.getString(c.getColumnIndex("total")));
billData.add(data);
adapter.notifyDataSetChanged();
addLayout(c.getInt(c.getColumnIndex("id")),
c.getString(c.getColumnIndex("number")),
c.getString(c.getColumnIndex("date")),
c.getString(c.getColumnIndex("total")));
}while (c.moveToNext());
}
}
Это мой адаптер
public class TransactionsBillAdapter extends BaseAdapter implements ListAdapter {
...
}
Мне нужен другой параметр вместо этого notifyDataSetChanged ();