Android java.util.HashMap无法强制转换为java.lang.String

时间:2013-02-18 02:04:12

标签: java android string

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 cannot be cast to java.util.HashMap exception似乎我做的一切都正确。

2 个答案:

答案 0 :(得分:4)

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

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

您应该检查 AdaptaverView 的内容。

答案 1 :(得分:1)

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

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