【发布时间】:2014-12-17 23:07:28
【问题描述】:
我在哪里运行以下代码:
@Override
protected void onListItemClick(ListView listView, View view, int position,
long id) {
String item = (String) getListAdapter().getItem(position);
Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
Art art = (Art) getListAdapter().getItem(position);
/*Intent intent = new Intent(this,X.class);
intent.putExtra("art", art);
this.startActivity(intent);*/
}
我的艺术课是这样的:
import java.io.Serializable;
import java.util.List;
import com.google.gson.annotations.SerializedName;
public class Art implements Serializable{
private static final long serialVersionUID = 8359220892008313080L;
@SerializedName("body")
private String body;
@SerializedName("title")
private String title;
@SerializedName("images")
private List<Images> images;
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<Images> getImages() {
return images ;
}
public void setImages(List<Images> images) {
this.images = images;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("***** Art *****\n");
sb.append("BODY=" + getBody() + "\n");
sb.append("TITLE=" + getTitle() + "\n");
sb.append("IMAGES=" + getImages() + "\n");
sb.append("*****************************");
return sb.toString();
}
}
这是我的日志,它在以下特定行崩溃:Art art = (Art)getListAdapter().getItem(position);
E/AndroidRuntime(912): FATAL EXCEPTION: main
E/AndroidRuntime(912): java.lang.ClassCastException: java.lang.String cannot be cast to com.Art
E/AndroidRuntime(912): at com.ArtListActivity.onListItemClick(ArtListActivity.java:118)
E/AndroidRuntime(912): at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
任何关于为什么会发生的想法/帮助以及可能的修复将不胜感激,感谢您的阅读。
【问题讨论】:
标签: java android listview casting onclick