简体   繁体   English

从列表视图中获取选定的对象

[英]get selected object from listview

I will find a way to get a selected item in my list view and then to cast in my object type, but i get an error i think is to big to see whats is wrong. 我将找到一种在列表视图中获取选定项目然后强制转换为对象类型的方法,但是我遇到了一个错误,我认为这很重要,以查看出现了什么问题。 Can you help me ? 你能帮助我吗 ?

My code : 我的代码:

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();


            }

        });

I get this error : 我收到此错误:

 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)

谢谢FD_,当我说太大而看不到问题时,这是我的方法(getItem)返回了错误的项目(复制粘贴太快)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM