1
我知道这个问题之前已经被多次询问过,但没有一个解决方案适用于我。这是我的代码:Android无法解析构造函数ArrayAdapter
public class reminderDAO extends dbManager{
public reminderDAO(Context context) {
super(context);
}
// Adding new reminder
public void addReminder(Reminder reminder) {
//dbm.gettingWritable(values);
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(getKEY_DATE(), reminder.getReminderDate());
values.put(getKEY_TITLE(), reminder.getReminderTitle());
values.put(getKEY_DESC(), reminder.getReminderDescription());
values.put(getKEY_TIME(), reminder.getReminderTime());
// Inserting Row
db.insert(getDATABASE_TABLE(), null, values);
db.close(); // Closing database connection
}
public List<Reminder> getAllReminders(ListView lv) {
ArrayList<Reminder> reminderList = new ArrayList<Reminder>();
// Select All Query
String selectQuery = "SELECT * FROM " + getDATABASE_TABLE();
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
MainActivity ma = new MainActivity();
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Reminder r = new Reminder();
r.setReminderDate(cursor.getString(0));
r.setReminderTitle(cursor.getString(1));
r.setReminderDescription(cursor.getString(2));
r.setReminderTime(cursor.getString(3));
// Adding reminder to list
reminderList.add(r);
} while (cursor.moveToNext());
}
ArrayAdapter<Reminder> arrayAdapter = new ArrayAdapter<Reminder>(
this,
android.R.layout.simple_list_item_1,
reminderList);
lv.setAdapter(arrayAdapter);
// return reminder list
return reminderList;
}
}
我有一种感觉,它是与“本”一个ArrayAdapter里面做。我尝试过getActivity(),this.getActivity(),reminderDAO.this.getActivity(),MainActivity.this和reminderDAO.this。
任何人都有解决方案?
只是一个侧面节点:取有关Java编码规范护理。类名始终应该启动UpperCase:ReminderDao和DbManager是一个更好的命名。 –
好的,谢谢,注意。任何关于我得到的错误的想法? –
您是否尝试过“上下文”? – Emil