Code
private void createOptionsView(int optionType, final int optionNo, String optionName, final RadioGroup radioGroup,final int pos,final int numberOfOptions) {
if (optionType == 1) {
final RadioButton[] rb = new RadioButton[numberOfOptions];
for(int i=0; i<numberOfOptions; i++){
rb[i] = new RadioButton(getContext());
radioGroup.addView(rb[optionNo]);
}
Log.e("optionNumber "," == "+optionNo);
rb[optionNo].setText(optionName);
final int id = optionNo;
rb[optionNo].setId(id);
rb[optionNo].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rb[optionNo].setChecked(true);
Log.e("XXX set id : ", id + "");
Log.e("position ", "==" + pos);
}
});
;
viewHolder.surveyOptionsView.removeAllViews();
viewHolder.surveyOptionsView.addView(radioGroup);
}
else if (optionType == 2) {
viewHolder.multipleOption = new CheckBox(getContext());
viewHolder.multipleOption.setId(300 + optionNo);
viewHolder.multipleOption.setText(optionName);
viewHolder.surveyOptionsView.addView(viewHolder.multipleOption);
}
}
LogCat
01-12 12:52:21.359 28007-28007/com.impactanalytics.insideinsight E/AndroidRuntime: FATAL EXCEPTION: main Process: com.impactanalytics.insideinsight, PID: 28007 java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 at com.impactanalytics.insideinsight.adapter.IISurveyEntryAdapter.createOptionsView(IISurveyEntryAdapter.java:120) at com.impactanalytics.insideinsight.adapter.IISurveyEntryAdapter.getView(IISurveyEntryAdapter.java:82) at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220) at android.widget.AbsListView.obtainView(AbsListView.java:2347) at android.widget.ListView.makeAndAddView(ListView.java:1864) at android.widget.ListView.fillDown(ListView.java:698) at android.widget.ListView.fillFromTop(ListView.java:759) at android.widget.ListView.layoutChildren(ListView.java:1659) at android.widget.AbsListView.onLayout(AbsListView.java:2151) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) at android.widget.FrameLayout.onLayout(FrameLayout.java:514) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:435) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) at android.widget.FrameLayout.onLayout(FrameLayout.java:514) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) at android.widget.FrameLayout.onLayout(FrameLayout.java:514) at android.view.View.layout(View.java:15761) at android.view.ViewGroup.layout(ViewGroup.java:5039) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2090) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1847) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1065) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5901) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:211) at android.app.ActivityThread.main(ActivityThread.java:5389) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)