2014-01-12 46 views
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) 
+1

'selectedItem.getTrackid()'这是什么回报,什么是第44行? – Raghunandan

+0

第44行是:Track selectedItem =(Track)adapter.getAdapter()。getItem(position); selectedItem.getTrackid()return Long – WhatsUp

+0

请发布您的适配器代码。 –

回答

0

谢谢FD_,当我说这是太大了,看看有什么是错的,这是我的方法(的getItem)返回错误的项目(复制粘贴太快)。

+0

不客气;) –

相关问题