В моем приложении я имею 1 listview, заполняя данные из базы данных с помощью arrayadapter.
Вот следующий код:
public void onClick(View v) {
// TODO Auto-generated method stub
Cursor c = db.gethouseholdTitle();
startManagingCursor(c);
// if(cat.equals("Income"))
// {
//// System.out.println("inside if="+select);
//// Cursor cin = db.income();
String[] fromdes = new String[] {db.KEY_DATE,db.KEY_DESC,db.KEY_INCOME,db.KEY_TOTAL};
int[] todes = new int[] {R.id.text1 ,R.id.text3,R.id.text5,R.id.text7};
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.columnview, c, fromdes, todes);
// System.out.println("notes="+notes.getCount());
// setListAdapter(notes);
lv.setAdapter(notes);
}
Но показывая ошибку:
The constructor SimpleCursorAdapter(new View.OnClickListener(){}, int, Cursor, String[], int[]) is undefined
Что я делаю неправильно. Спасибо заранее. Я думаю, что мы не можем заполнить адаптер курсора внутри функции щелчка?
Измените эту строку:
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.columnview, c, fromdes, todes);
в это:
SimpleCursorAdapter notes = new SimpleCursorAdapter(MyActvity.this, R.layout.columnview, c, fromdes, todes);
Здесь MyActivity
должно быть фактическим названием вашей деятельности.
В то же время я SimpleCursorAdapter
ваше внимание на следующий отрывок из SimpleCursorAdapter
javadoc:
Этот конструктор устарел. Этот параметр не рекомендуется, так как это приводит к выполнению запросов курсора в потоке пользовательского интерфейса приложения и, следовательно, может привести к плохой отзывчивости или даже к ошибкам приложения, не отвечающим. В качестве альтернативы используйте LoaderManager с помощью CursorLoader.
**this**
. чтобы дать контекст вашей деятельности.