私はLazyAdapterと呼ばれるカスタムListAdapterで満たされたListViewを表示しています。コードはここから来ています: http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text / . LazyAdapter は、カスタム オブジェクト "EventData" を使用します。思い通りにリストを表示できましたが、クリックされたオブジェクトを取得したいと思います。他の質問 ( here、here、およびthere ) に関するヘルプを見つけて、そのコードを書きました。
private OnItemClickListener mEventClickListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {
EventData selectedEvent = (EventData) eventsListView.getItemAtPosition(arg2);
};
ただし、実行時にキャストエラーが発生します。
05-14 17:10:46.718: E/AndroidRuntime(3863): java.lang.ClassCastException: java.lang.Integer
私もこの同様の解決策を試しました:
EventData selectedEvent = (EventData) av.getItemAtPosition(arg2);
同じキャストエラーが発生しました。Object EventData を別の方法で取得する方法がわかりません。
ご協力いただきありがとうございます!