2

Androidアノテーションを使用してAndroid向けに開発していますが、CursorAdaptersでの使用方法がわかりません。

BaseAdaptersの例は既にありますが、 @EBean を CursorAdapter を拡張するクラスに追加すると、「 @EBean 注釈付き要素には、タイプ android.content.Context の 1 つのパラメーター max を持つコンストラクターが必要です」というエラー メッセージが表示されます。CursorAdapter には、既に 2 つのコンストラクターがあります。

public class SongInfoAdapter extends CursorAdapter {
...
@Override
public void bindView(View view, Context context, Cursor cursor) {
 ...
 rowData.id.setOnClickListener(new OnClickListener() {
     public void onClick(View v) { 
         itemOnClick(rowData);
     }
 });
}

public void itemOnClick(RowDataHolder rowData) {
    switch(audioPlayer.getPlayingplayer()) {
    case AudioPlayer.RIGHT:
    case AudioPlayer.NONE:
        audioPlayer.load(rowData.songInfo, AudioPlayer.LEFT);
        break;
    case AudioPlayer.LEFT:
        audioPlayer.load(rowData.songInfo, AudioPlayer.RIGHT);  
        break;
    }
}
...
}

AudioPlayerはアノテーション(@EBean)を使うクラスなのですが書けません

@Bean
AudioPlayer audioPlayer;

このクラスでは注釈を使用できないためです。CursorAdapter で AndroidAnnotations を使用するにはどうすればよいですか?

よろしくお願いします。

4

1 に答える 1

4

1 つの引数 (コンテキスト) を取るコンストラクターを作成します。

SongInfoAdapter (Context context) {
    super(context, null, FLAG_AUTO_REQUERY);
}

init メソッドを作成し、init でアダプターのカーソルを設定します。

public void init(Cursor c) {
    this.changeCursor(c);
}

SongInfoAdapterこれで、注釈を付けて使用できるように@EBeanなりました。

于 2013-02-05T09:16:05.700 に答える