package com.example.slidingmenu.yujing.client.activity.broadcast;
import java.util.HashMap;
import android.content.Context;
import android.database.CharArrayBuffer;
import android.database.Cursor;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ResourceCursorAdapter;
import android.widget.TextView;
import com.example.slidingmenu.R;
import com.example.slidingmenu.yujing.client.database.table.Topic;
import com.example.slidingmenu.yujing.client.utils.Utils;
public class BroadCastAdapter extends ResourceCursorAdapter{
public BroadCastAdapter(Context context, int layout, Cursor c,
boolean autoRequery) {
super(context, layout, c, false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
final ContactListItemCache cache = (ContactListItemCache) view.getTag();
cursor.copyStringToBuffer(cursor.getColumnIndex(Topic.name), cache.nameBuffer);
cursor.copyStringToBuffer(cursor.getColumnIndex(Topic.content), cache.numberBuffer);
int size = cache.nameBuffer.sizeCopied;
int numberSize = cache.numberBuffer.sizeCopied;
cache.nameView.setText(cache.nameBuffer.data, 0, size);
cache.contentView.setText(cache.numberBuffer.data, 0, numberSize);
cache.dateView.setText(Utils.timeFormat(cursor.getInt(cursor.getColumnIndex(Topic.time))));
}
public void refresh() {
this.getCursor().requery();
}
@SuppressWarnings("unchecked")
@Override
public HashMap getItem(int position) {
Cursor c = (Cursor) super.getItem(position);
HashMap map = new HashMap();
map.put(Topic._id, c.getInt(c.getColumnIndex(Topic._id)));
map.put(Topic.ID, c.getLong(c.getColumnIndex(Topic.ID)));
map.put(Topic.content, c.getString(c.getColumnIndex(Topic.content)));
map.put(Topic.name, c.getString(c.getColumnIndex(Topic.name)));
map.put(Topic.time, c.getInt(c.getColumnIndex(Topic.time)));
map.put(Topic.photo, c.getString(c.getColumnIndex(Topic.photo)));
return map;
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View view = super.newView(context, cursor, parent);
ContactListItemCache cache = new ContactListItemCache();
cache.nameView = (TextView) view.findViewById(R.id.broadcast_name);
cache.contentView = (TextView) view.findViewById(R.id.broadcast_content);
cache.thumbView = (ImageView) view.findViewById(R.id.broadcast_thumb);
cache.dateView = (TextView) view.findViewById(R.id.broadcast_date);
view.setTag(cache);
return view;
}
final static class ContactListItemCache {
public TextView nameView;
public TextView contentView;
public TextView dateView;
public ImageView thumbView;
public CharArrayBuffer nameBuffer = new CharArrayBuffer(128);
public CharArrayBuffer numberBuffer = new CharArrayBuffer(128);
}
}