2

我正在使用 android 注释为 android 开发,但我不明白如何将它与 CursorAdapters 一起使用。

BaseAdapters已经有一个示例,但是如果我将 @EBean 添加到扩展 CursorAdapter 的类中,我会收到错误消息“ @EBean 注释元素应该有一个带有一个参数最大值的构造函数,类型为 android.content.Context ”。CursorAdapter 已经有两个构造函数。

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

创建一个带有一个参数的构造函数,即上下文。

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 回答