【发布时间】:2014-08-10 08:56:06
【问题描述】:
为了选择最喜欢的联系人,我在列表视图中加载所有联系人并声明我的适配器,如下所示:
ArrayAdapter<String> cnct_List_Adapter =new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_multiple_choice,info);
为了显示结果,我使用以下代码:
try
{
SparseBooleanArray a = LvPopupContacts.getCheckedItemPositions();
String my_sel_items="";
for(int i = 0; i < LvPopupContacts.getCount() ; i++)
{
if (a.valueAt(i))
{
/*
Long val = lView.getAdapter().getItemId(a.keyAt(i));
Log.v("MyData", "index=" + val.toString()
+ "item value="+lView.getAdapter().getItem(i));
list.add(lView.getAdapter().getItemId((a.keyAt(i))));
*/
my_sel_items = my_sel_items + ","
+ (String) LvPopupContacts.getAdapter().getItem(i);
}
}
Toast.makeText(getActivity(),String.valueOf(a.size()), 0).show();
Log.v("Contacts :" ,my_sel_items);
} catch (Exception e) {
Log.v("e Error" ,e.toString());
}
现在,当我在emulator 中使用它时,它可以在rightly 中工作,但是当它在Device 中测试时,返回e Exception
Exception: java.lang.ArrayindexOutOfBoundsException length=13;index=13
记住,我的设备有大约 220 个联系人。
【问题讨论】:
-
完整发布你的日志猫
-
不幸的是,在设备中运行应用程序时,eclipse 没有创建日志! - 我不知道为什么!
标签: android android-listview arraylist android-arrayadapter multichoiceitems