Android ListItemClicked问题
我有一个列表项,其中有一些项目。但无论我点击什么,我总是得到位置==-1 当我点击第一个位置时,这很好,但当我点击第二个或第三个位置时,我的应用程序崩溃了,我得到了Logcat:Android ListItemClicked问题,android,list,Android,List,我有一个列表项,其中有一些项目。但无论我点击什么,我总是得到位置==-1 当我点击第一个位置时,这很好,但当我点击第二个或第三个位置时,我的应用程序崩溃了,我得到了Logcat: 05-12 19:37:34.131: E/AndroidRuntime(11152): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1 05-12 19:37:34.131: E/AndroidRuntime(11152): at jav
05-12 19:37:34.131: E/AndroidRuntime(11152): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
05-12 19:37:34.131: E/AndroidRuntime(11152): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
以下是我的代码onListItemClicked:
class ListItemClicked implements OnItemClickListener
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int position = parent.getSelectedItemPosition();
if(position==-1)
{
Toast.makeText(getApplicationContext(),"first item clicked", Toast.LENGTH_SHORT).show();
}
}
}
类ListItemClicked实现了McClickListener
{
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
int position=parent.getSelectedItemPosition();
如果(位置==-1)
{
Toast.makeText(getApplicationContext(),“单击的第一项”,Toast.LENGTH\u SHORT.show();
}
}
}
如果您需要更多信息,请告诉我。不要使用
parent.getSelectedItemPosition()
,而是使用position
参数。这就是它的用途。您的ArrayList大小为1,您试图从中获取项目2java.lang.IndexOutOfBoundsException:索引1无效,大小为1显示getSelectedItemPosition函数这显然是一个错误,您的列表中有多少项?根据logcat,你的列表似乎只有一个项目,当你点击第二个项目或任何其他项目时,返回的位置为-1,这意味着没有其他元素出现,因为项目在一段时间后出现,因为我正在搜索蓝牙设备。现在,当我点击第一个项目时,它工作得更好,我得到的位置==0,但在第二项单击时,我得到了相同的错误。It arraylist和meaby我可以设置它的大小?arrayListPairedBluetoothDevices=new arraylist();我正在添加这样的项:detectedAdapter.add(device.getName()+“\n”+device.getAddress());arrayListBluetoothDevices.add(设备);我知道有些东西我不知道如何改变它的大小只要在ArrayList arrayListObject.add()中添加更多的项即可;你能给我看看你从ArrayListk获得物品的那一行吗?我修好了,谢谢大家,我只做arrayListBluetoothDevices=new ArrayList();对于(inti=0;i<10;i++){arrayListBluetoothDevices.add(0,null);}欢迎使用,这样我就可以得到最好的答案或第二条评论了