0
我會找到一種方法在列表視圖中獲取選定的項目,然後在我的對象類型中投射,但是我得到一個錯誤,我認爲它很大,以查看什麼是錯誤的。你可以幫我嗎 ?從列表視圖中獲取選定的對象
我的代碼:
mListMenu = (ListView) findViewById(R.id.listView_tracks);
mListMenu.setAdapter(new TracksListAdapter(this, TrackManager.getAllTrackFromTel(new DataBaseHelper(this))));
mListMenu.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View arg1,
int position, long arg3) {
Track selectedItem = (Track) adapter.getAdapter().getItem(position);
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putLong("trackselected",selectedItem.getTrackid());
intent.putExtras(bundle);
//Envoi du resultat à l'origine
setResult(RESULT_OK, intent);
finish();
}
});
我得到這個錯誤:
FATAL EXCEPTION: main
java.lang.ClassCastException: java.lang.Integer
at com.milesbox.sport.tracker.ListTracksActivity$1.onItemClick(ListTracksActivity.java:44)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3746)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1980)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3691)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
'selectedItem.getTrackid()'這是什麼回報,什麼是第44行? – Raghunandan
第44行是:Track selectedItem =(Track)adapter.getAdapter()。getItem(position); selectedItem.getTrackid()return Long – WhatsUp
請發佈您的適配器代碼。 –