android LIstVIew 点击 item报错ClassCastException

文章标签: android,android-listview
2015-1-9 9:23:22     人阅读    

android开发笔记,处理ListView点击报错的问题.
下面的代码中我点击listView中的item报错

FATAL EXCEPTION: main
java.lang.ClassCastException: 
x
xms.ss.Adapters.RecentCallsStructure cannot be cast to java.lang.String

我的listView的构造如下

public class RecentCallsStructure {
    public String call_name;
    public RecentCallsStructure (String call_name) {
        call_name = call_name;
    }
    public RecentCallsStructure () {
    }
    public String getCall_name () {
        return call_name;
    }
    public void setCall_name (String call_name) {
        call_name = call_name;
    }
}


Listview:获得点击的item

final ListView listView1=(ListView)  recent_calls.findViewById(R.id.listView1);
ArrayAdapter<RecentCallsStructure> adapter = new AdapterRecentCalls ( G.call_logs );

listView1.setAdapter(adapter);

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener () {
    @Override
    public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {

        /* 下面的这行代码报错 */
        String selectedFromList = (String) listView1.getItemAtPosition(myItemInt);

经过测试
把下面的这行代码

String selectedFromList = (String) listView1.getItemAtPosition(myItemInt);


换成

RecentCallsStructure selectedItem = (RecentCallsStructure) listView1.getItemAtPosition(myItemInt);

通过  如下代码获得String...

String selectedFromList=selectedItem.getCall_name();


问题的原因是,我是android新手 ,同样是java新手,对一些转化处理的不到位导致的.


原文地址:http://www.itmmd.com/201501/462.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android 获得最后一个选中的 action bar tab   上一篇
下一篇  android学习笔记(39)消息提示使用Toast昱示提示信息輕
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!