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 に答える