1
public void onItemClick(AdapterView<?> parentAdapter, View view, int position,
                                     long id) {
                TextView clickedView = (TextView) view;
                /* Line 79 */ String selectedRouteName = (String) parentAdapter.getItemAtPosition(position);
                String temp = selectedRouteName.substring(0, 2);

显示的错误是:

02-18 01:56:53.676: E/AndroidRuntime(821): java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
02-18 01:56:53.676: E/AndroidRuntime(821):  at com.coltonnicotera.londontransitguide.SchedulesActivity$1.onItemClick(SchedulesActivity.java:79)

不知道是什么原因造成的,我发现java.lang.String 无法转换为 java.util.HashMap 异常,看来我做的一切都是正确的。

4

2 回答 2

4

这意味着它parentAdapter.getItemAtPosition(position)正在返回一个HashMap实例,您正在尝试将其转换为带有该行的字符串

String selectedRouteName = (String) parentAdapter.getItemAtPosition(position);

您应该检查该AdaptaverView的内容。

于 2013-02-18T02:06:19.663 回答
1

请将java与现实生活进行比较,您正在尝试将DOG对象转换为Peacock对象,这是不可能的。

您应该使用toString()对象类的方法进行字符串转换。

于 2013-02-18T02:50:50.723 回答