2014-05-12 67 views
0

我有一個列表項,我有一些項目。但不管我點擊了什麼,我總是得到位置== - 1。ListItemClicked issue

,當我點擊第一位置的很好,但是當我點擊第二位或第三位我的應用程序破碎和我得到的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 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(); 


     } 

    }  
} 

請告訴我,如果你需要更多的信息。

+0

顯示getSelectedItemPosition有 –

+0

有多少項目其作用顯然是一個錯誤你的名單中有嗎? 根據logcat..it似乎你的列表只有一個項目..當你點擊第二個項目或任何其他返回的位置是-1意味着沒有其他元素存在 –

+0

meaby它是因爲項目出現後一段時間我正在尋找藍牙設備 – user3465277

回答

1

你ArrayList的大小爲1,你想從它那裏得到第2項

java.lang.IndexOutOfBoundsException:無效指數1,大小爲1

+0

你知道我不知道如何改變它的大小 – user3465277

+0

只是添加更多的項目ArrayList arrayListObject.add(); – NoXSaeeD

+0

你能告訴我你從ArrayList獲得項目的行 – NoXSaeeD

0

請勿使用parent.getSelectedItemPosition(),而應使用position參數。這就是它的目的。

+0

咋現在它工作更好,當我點擊第一項我得到的位置== 0,但在第二項點擊我得到同樣的錯誤。它arraylist和meaby我可以設置它的大小? – user3465277

+0

arrayListPairedBluetoothDevices = new ArrayList ();我添加這樣的項目:detectedAdapter.add(device.getName()+「\ n」+ device.getAddress()); arrayListBluetoothDevices.add(device); meaby有東西 – user3465277