Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to retrieve information from checkBox(multiple answer) and radioButton(single answer) in a ListView
    primarykey
    data
    text
    <p>I am new to android and this is my first application ,I have custom listview with checkbox(multiple) and RadioButton(single),for now i just implement it like checkbox(q1,q3) and RadioButton(q2,q4). my question is : how to get the value of selected checkBox and radioButton ,on click the submit button how to store these value. please provide some solution.Thank you</p> <pre><code>public class MainActivity extends ListActivity{ String[] QuestionList = new String[] {"q1","q2","q3","q4"}; String [] Question=new String []{"question1","question2","question3","question4"}; String[] option=new String[]{"option1","option2","option3","option4","option5","option6","option7","option8","option9","option10","option11","option12","option13","option14","option15","option16"}; String radiocheck; CheckBox cb1; CheckBox cb2; CheckBox cb3; CheckBox cb4; TextView checkText; LinearLayout check; LinearLayout layout; //LinearLayout radio; TextView radioText; RadioGroup radio; RadioButton rb1; RadioButton rb2; RadioButton rb3; RadioButton rb4; Button save; Button submit; ListView list; MyThumbnaildapter adapter; public class MyThumbnaildapter extends ArrayAdapter&lt;String&gt; { public MyThumbnaildapter(Context context, int textViewResourceId,String[] objects) { super(context, textViewResourceId, objects); } @Override public View getView( int position, View convertView, ViewGroup parent) { ViewGroup item =getViewGroup(convertView, parent); radiocheck = QuestionList[position]; int pos=position; check = (LinearLayout)item.findViewById(R.id.linear); radio = (RadioGroup)item.findViewById(R.id.radio); save=(Button)item.findViewById(R.id.save); submit=(Button)item.findViewById(R.id.button2); layout=(LinearLayout)item.findViewById(R.id.layoutButton); if (radiocheck.equalsIgnoreCase("q1")||radiocheck.equalsIgnoreCase("q3")) { check.setVisibility(View.VISIBLE); radio.setVisibility(View.GONE); checkText=(TextView)item.findViewById(R.id.c1); checkText.setText(Question[position]); cb1=(CheckBox)item.findViewById(R.id.ch1); cb2=(CheckBox)item.findViewById(R.id.ch2); cb3=(CheckBox)item.findViewById(R.id.ch3); cb4=(CheckBox)item.findViewById(R.id.ch4); cb1.setText(option[(pos*4)]); cb2.setText(option[(pos*4)+1]); cb3.setText(option[(pos*4)+2]); cb4.setText(option[(pos*4)+3]); } else if(radiocheck.equalsIgnoreCase("q2")||radiocheck.equalsIgnoreCase("q4")) { check.setVisibility(View.GONE); radio.setVisibility(View.VISIBLE); radioText=(TextView)item.findViewById(R.id.Tradio); rb1=(RadioButton)item.findViewById(R.id.option1); rb2=(RadioButton)item.findViewById(R.id.option2); rb3=(RadioButton)item.findViewById(R.id.option3); rb4=(RadioButton)item.findViewById(R.id.option4); radioText.setText(Question[position]); rb1.setText(option[(pos*4)]); rb2.setText(option[(pos*4)+1]); rb3.setText(option[(pos*4)+2]); rb4.setText(option[(pos*4)+3]); } if((position+1)==Question.length){ layout.setVisibility(View.VISIBLE); save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { saveAnswers(); } private void saveAnswers() { LinearLayout root = (LinearLayout) findViewById(R.id.totalLayout); loopQuestions(root); } private void loopQuestions(ViewGroup parent) { for(int i = 0; i &lt; parent.getChildCount(); i++) { View child = parent.getChildAt(i); if(child instanceof RadioGroup ) { //Support for RadioGroups RadioGroup radio = (RadioGroup)child; storeAnswer(radio.getId(), radio.getCheckedRadioButtonId()); } else if(child instanceof CheckBox) { //Support for checkboxe1 CheckBox cb1 = (CheckBox)child; int answer = cb1.isChecked() ? 1:0; if(answer==1) storeAnswer(cb1.getId(), answer); } else if(child instanceof CheckBox) { //Support for checkboxe2 CheckBox cb2 = (CheckBox)child; int answer = cb2.isChecked() ? 1:0; if(answer==1) storeAnswer(cb2.getId(), answer); } else if(child instanceof CheckBox) { //Support for checkboxe3 CheckBox cb3 = (CheckBox)child; int answer = cb3.isChecked() ? 1:0; if(answer==1) storeAnswer(cb3.getId(), answer); } else if(child instanceof CheckBox) { //Support for checkboxe4 CheckBox cb4 = (CheckBox)child; int answer = cb4.isChecked() ? 1:0; if(answer==1) storeAnswer(cb4.getId(), answer); } if(child instanceof ViewGroup) { //Nested Q&amp;A ViewGroup group = (ViewGroup)child; loopQuestions(group); } } } private void storeAnswer(int id, int answer) { //how to store answer using map } }); } return item; } } public ViewGroup getViewGroup(View reuse, ViewGroup parent) { if(reuse instanceof ViewGroup) return (ViewGroup)reuse; Context context = parent.getContext(); LayoutInflater inflater = LayoutInflater.from(context); ViewGroup item = (ViewGroup)inflater.inflate(R.layout.checkbox, null); return item; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(new MyThumbnaildapter(MainActivity.this, R.layout.checkbox,QuestionList)); }} </code></pre> <p><strong>checkbox.xml is:</strong></p> <pre><code> &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/totalLayout"&gt; &lt;LinearLayout android:id="@+id/Loptionr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="visible"&gt; &lt;RadioGroup android:id="@+id/radio" android:layout_width="wrap_content" android:layout_height="wrap_content" &gt; &lt;TextView android:id="@+id/Tradio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/optionS" android:layout_alignParentTop="true" android:textStyle="bold" /&gt; &lt;RadioButton android:id="@+id/option4" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;RadioButton android:id="@+id/option3" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;RadioButton android:id="@+id/option2" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;RadioButton android:id="@+id/option1" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;/RadioGroup&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:id="@+id/linear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="visible"&gt; &lt;TextView android:id="@+id/c1" android:layout_width="wrap_content" android:layout_height="wrap_content"/&gt; &lt;CheckBox android:id="@+id/ch1" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;CheckBox android:id="@+id/ch2" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;CheckBox android:id="@+id/ch3" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;CheckBox android:id="@+id/ch4" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:layout_width="wrap_content" android:id="@+id/layoutButton" android:orientation="horizontal" android:layout_height="wrap_content" android:layout_alignLeft="@+id/artist" android:layout_below="@+id/thumbnail" android:layout_marginLeft="44dp" android:visibility="gone"&gt; &lt;Button android:id="@+id/save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Save" android:visibility="visible" /&gt; &lt;Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:text="Submit" android:visibility="visible" /&gt; &lt;/LinearLayout&gt; &lt;/LinearLayout&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload