2013-01-02 25 views
0

蔭試圖執行一個複選框接觸和選擇多個聯繫人和保存them..below是我的代碼安卓:複選框選擇多個ArrayIndexOutOfBoundsException異常

但IAM越來越ArrayIndexOutOfBoundsException異常在行

viewHolder.checkBox.setChecked(checkBoxState[position]); 

01-02 20:14:51.926: E/AndroidRuntime(26353): java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 
01-02 20:14:51.926: E/AndroidRuntime(26353): at org.app.myhood.adaptor.ProfileAdapter.getView(ProfileAdapter.java:215) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.widget.AbsListView.obtainView(AbsListView.java:2468) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.widget.ListView.measureHeightOfChildren(ListView.java:1250) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.widget.ListView.onMeasure(ListView.java:1162) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.view.View.measure(View.java:15481) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5107) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396) 
01-02 20:14:51.926: E/AndroidRuntime(26353): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1038) 

我感到震驚,任何幫助表示讚賞。

+0

崩潰時'position'和'checkBoxState'的大小是什麼? – slybloty

回答

0

您必須將值分配給checkBoxState。在這裏初始化它之後checkBoxState=new boolean[listCont.size()];它需要值,如checkBoxState[i] = true;

當您嘗試讀取其行數viewHolder.checkBox.setChecked(checkBoxState[position]);上的值時,它會因爲沒有分配而崩潰。您唯一分配任何值的時間是onClick(),在您設置它之前不會發生。

+0

ohh..how初始化的價值觀,我想加載phonecontacts ...我怎麼能通過手機接觸? – teekib

+0

你的'checkBoxState'是一個布爾變量,'true'或'false'。它不包含您的手機通訊錄。你必須給它分配一個默認值,'true'或'false'。 – slybloty

+0

@ slyboy..how asiign it ,,我是這樣布爾[] checkBoxState = true;並得到錯誤 – teekib

0

入住此行

checkBoxState=new boolean[listCont.size()]; 

後來在那裏發生的錯誤,您正在訪問一個不存在的索引。

在您訪問數組之前放置一個斷點來檢查元素的數量。

+0

嘗試調試..saying「setChecked無法解析爲變量」在該行。 – teekib