/**
* 章节列表,自定义Adapter
* @author Administrator
*
*/
public class ChapterListAdapter extends BaseAdapter {
private Context context;
private List<Chapter> list;
private LayoutInflater layoutInflater;
private SQLiteDatabase sqLiteDatabase;
public ChapterListAdapter(Context context, List<Chapter> list,
SQLiteDatabase sqLiteDatabase) {
super();
this.context = context;
this.list = list;
this.layoutInflater = LayoutInflater.from(context);
this.sqLiteDatabase = sqLiteDatabase;
}
public int getCount() {
return list.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
final int selIndex = position;
ListItemView listItemView = null;
listItemView = new ListItemView();//实例化对象
convertView = layoutInflater.inflate(R.layout.chapterslistitem, null);//获取布局文件 //不要忘记布局文件
listItemView.chapter_name = (TextView) convertView
.findViewById(R.id.chapter_name);
listItemView.chapter_listendate = (TextView) convertView
.findViewById(R.id.chapter_listendate);
listItemView.chapter_btnplaynow = (ImageView) convertView
.findViewById(R.id.chapter_btnplaynow);
convertView.setTag(listItemView);//赋值
listItemView.chapter_name.setText(list.get(position).getName());
// 查询此章节是否收听过
Cursor cursor = sqLiteDatabase.rawQuery(
"select * from chapterlog where bookid="
+ list.get(position).getBookId() + " and chapterid="
+ list.get(position).getId() + "", null);
String lastTime = "";
while (cursor.moveToNext()) {
lastTime = cursor.getString(cursor.getColumnIndex("datetime"));
}
cursor.close();
//逻辑判断,如果收听过此章节,显示播放按钮,否则显示收听时间
if (lastTime.equals("")) {
listItemView.chapter_btnplaynow
.setImageResource(R.drawable.playnow);
listItemView.chapter_btnplaynow.setVisibility(ImageView.VISIBLE);
listItemView.chapter_btnplaynow
.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
Chapter selChapter = (Chapter) list.get(selIndex);
intent.setClass(context, MediaPlayerActivity.class);
intent.putExtra("chapter", selChapter);
context.startActivity(intent);
MediaPlayerActivity.currentIndex = selIndex;// 更新索引值
}
});
} else {
listItemView.chapter_listendate.setText(lastTime);
listItemView.chapter_listendate.setVisibility(TextView.VISIBLE);
}
return convertView;
}
/**
* 布局控件类
* @author Administrator
*
*/
final class ListItemView {
public TextView chapter_name;
public TextView chapter_listendate;
public ImageView chapter_btnplaynow;
}
}