0

我有这个代码:

list.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Cursor cursor = databaseHelper.getAgendaToEdit(id);
            Intent intent = new Intent(view.getContext(), EditAgendaActivity.class);
            cursor.moveToFirst();
            intent.putExtra("id", cursor.getString(0));
            startActivity(intent);
        }
    });

错误是:

java.lang.InstantiationException: can't instantiate class com.zeroe.EditAgendaActivity; no empty constructor

目标是在单击列表中的项目时开始一个新活动。我从我的主要活动中调用此方法,其中

list 

也是来自。我认为问题出在我没有从 ListView 所在的位置获取上下文这一事实。问题是它应该工作,因为我提供了正确的上下文,至少我假设。任何帮助将非常感激。

如果有人需要我澄清,请告诉我,我会立即这样做。

4

1 回答 1

2

您的Activity子类都需要一个默认构造函数。显然EditAgendaActivity没有。这就是问题所在,而不是您发布的代码。

通常,您应该只有一个Activity子类的默认(无参数)构造函数或根本没有构造函数(并让编译器为您生成一个无参数构造函数)。

于 2012-06-06T03:49:24.967 回答