我有一个用于listview的自定义适配器,它接收自定义对象“CustomObj”的数组并将其显示在listview中,
ArrayList<CustomObj> items;
尝试使用AdapterView.OnItemClickListener:
@Override
public void onItemClick(AdapterView < ? > arg0, View arg1, int arg2, long arg3) {
CustomObj obj = (CustomObj)arg0.getAdapter().getItem(arg2);
}
};
@Override
public void onItemClick(AdapterView < ? > arg0, View arg1, int arg2, long arg3) {
CustomObj obj = (CustomObj)arg0.getItemAtPosition(arg2);
}
};
java.lang.String cannot be cast to com.example.project1.CustomObj
您尝试使用的代码
arg0.getAdapter().getItem(arg2);
将返回数据集中arg2
位置的项。
现在你的数据集到底是什么?你可能在什么地方用过这个
adapterView.setAdapter(YOUR_ADAPTER)
这就是如何将适配器设置到适配器视图的方法。适配器
为您的视图提供数据。现在,如果您转到your_adapter
类,您会发现一个方法:
public Object getItem(int i) {
此方法返回的值是您将在项目单击事件arg0.getAdapter().getItem(arg2);
中获得的值。
在您的示例中,getitem
似乎返回了一个字符串,因此您不能将其强制转换为customobj
。
在我的应用程序中,我为gcm ccs(xmpp)运行这些代码,代码显示以下错误执行时出错,这是代码:
我正试图通过登录从报头中发送的API密钥对一个用户进行身份验证,而没有任何用户详细信息。然后,我会得到一个转换异常,因为我试图将主体转换为字符串。
我在将2d数组传递给另一个活动时遇到了Android问题。我没有问题通过额外的作为可序列化发送它。但是在收到它时,我得到以下错误: E/AndroidRuntime(7396): 由以下原因引起: java.lang.ClassCastException: java.lang.Object[] 不能被强制转换为 java.lang.String[][] 我使用以下代码: 有人可以帮我解决这个问题吗
在tomcat上运行web应用程序时,我收到以下stacktrace错误,无法找到此异常的根本原因。
有人知道怎么解决这个问题吗?