当我运行应用程序并单击列表视图时,会抛出Exception
,如下所示:
12-03 07:57:34.258: E/AndroidRuntime(681): java.lang.ClassCastException: android.widget.RelativeLayout
主要代码是:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("BaseAdapter for ListView");
listView = (ListView) this.findViewById(R.id.MyListView);
listView.setAdapter(new ListViewAdapter(titles, texts, resIds));
listView.setClickable(true);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});
}
答案 0 :(得分:1)
很可能您使用相对布局填充列表视图,因此当您单击从onItemClick
方法获得的视图时,是相对布局。使用:
view.findViewById(R.id.your_text_view_id);
获取对textview的引用。
答案 1 :(得分:0)
我想这一行
listView = (ListView) this.findViewById(R.id.MyListView);
是个问题
您必须将listview ID定义为
@android:id/list
并将以上行更改为此行:
listView = (ListView) this.findViewById(R.id.list);