2013-02-18 65 views
0
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); 

顯示錯誤是:的Android的java.util.HashMap不能轉換爲java.lang.String

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,似乎我做一切都正確。

+0

沒有足夠的信息可以幫助我們。請提供適配器的代碼。 – Wenhui 2013-02-18 02:07:29

+1

你爲什麼會認爲你可以將一個HashMap轉換爲一個字符串? – 2013-02-18 02:07:53

回答

4

這意味着parentAdapter.getItemAtPosition(position)返回一個的HashMap實例,該實例你想轉換爲字符串與行

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

你應該檢查AdaptaverView的內容。

1

請比較與現實生活中的java的,你想DOG對象轉換爲孔雀對象,這是不可能的。

而且您應該使用對象類的toString()方法進行字符串轉換。

相關問題