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

これは、 HashMapparentAdapter.getItemAtPosition(position)インスタンスを返していることを意味します。これは、次の行を含む文字列に変換しようとしています。

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

そのAdaptaverViewの内容を確認する必要があります。

于 2013-02-18T02:06:19.663 に答える
1

Javaを実際の生活と比較してください。DOGオブジェクトをPeacockオブジェクトに変換しようとしていますが、これは不可能です。

toString()また、文字列変換にはオブジェクトクラスのメソッドを使用する必要があります。

于 2013-02-18T02:50:50.723 に答える