Android 自定义列表视图(数据)
嗨,同志们,我想在2014年4月13日的表格输出中: 主要 我收到一个错误: 04-13 07:42:13.559 862-862/com.example.listview E/AndroidRuntime﹕ 致命异常:主 java.lang.ClassCastException:java.util.Date不能强制转换为java.lang.CharSequence 为什么?怎么带约会?你有Android 自定义列表视图(数据),android,listview,Android,Listview,嗨,同志们,我想在2014年4月13日的表格输出中: 主要 我收到一个错误: 04-13 07:42:13.559 862-862/com.example.listview E/AndroidRuntime﹕ 致命异常:主 java.lang.ClassCastException:java.util.Date不能强制转换为java.lang.CharSequence 为什么?怎么带约会?你有 holder.txtDesc.setText((CharSequence) rowItem.getPos
holder.txtDesc.setText((CharSequence) rowItem.getPostDate());
您正在将日期转换为CharacterSequence。setText将CharacterSequence作为参数。
您需要做的是将日期转换为字符串,然后将其设置为textview
Context context;
public CustomListViewAdapter(Context context, int resourceId,
List<RowItem> items) {
super(context, resourceId, items);
this.context = context;
}
/*private view holder class*/
private class ViewHolder {
ImageView imageView;
TextView txtTitle;
TextView txtDesc;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
RowItem rowItem = getItem(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);
holder.txtTitle = (TextView) convertView.findViewById(R.id.title);
holder.imageView = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
holder.txtDesc.setText((CharSequence) rowItem.getPostDate());
holder.txtTitle.setText(rowItem.getTitle());
holder.imageView.setImageResource(rowItem.getImageId());
return convertView;
}
}
public class RowItem {
private int imageId;
private String title;
private Date postDate;
public RowItem(int imageId, String title, Date postDate) {
this.imageId = imageId;
this.title = title;
this.postDate = postDate;
}
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
public Date getPostDate() {
return postDate;
}
public void setPostDate(Date postDate) {
this.postDate = postDate;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Override
public String toString() {
return title + "\n" + postDate;
}
}
holder.txtDesc.setText((CharSequence) rowItem.getPostDate());
Format formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datestring = formatter.format(rowItem.getPostDate());
holder.txtDesc.setText(datestring);