2012-08-07 58 views
0

quiz_list.xml自动选择:我的XML文件单选按钮采用的是Android

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <TextView 
    android:id="@+id/question" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#43bd00" 
    android:textSize="20sp" 
    android:textStyle="bold" 
    android:paddingTop="4dip" 
    android:paddingBottom="1dip" /> 

    <RadioGroup 
     android:id="@+id/radioGroup" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:text="Radio Group" 
     > 
    <RadioButton 
     android:id="@+id/option1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
    <RadioButton 
     android:id="@+id/option2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
    <RadioButton 
     android:id="@+id/option3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
    <RadioButton 
     android:id="@+id/option4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
    </RadioGroup> 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginLeft="5dp" 
    android:gravity="bottom|center_horizontal" 
    android:orientation="horizontal" > 

<Button 
    android:id="@+id/loadPrevious" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:layout_marginTop="10dp" 
    android:text="Load Previous" 
    android:visibility="invisible" /> 

<Button 
    android:id="@+id/loadNext" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:layout_marginTop="10dp" 
    android:text="Load Next" /> 

    </LinearLayout>  

我有问题和单选按钮列表中有它的选项。 我面临的问题是 1.当我加载下一个列表时,已经选择了一个按钮。 2.当我加载前一个列表不同的按钮被选中,而不是我选择的。

这是我的代码,包含作为json的问题。

String json = "[{\"question\": \"What?\", \"option1\": \"alpha\" , \"option2\": \"beta\" , \"option3\": \"gamma\" , \"option4\": \"alpha\"},{\"question\": \"What is your name ?\", \"option1\": \"Dinesh\" , \"option2\": \"Boopesh\" , \"option3\": \"Srinath\" , \"option4\": \"JK\"},{\"question\": \"What is the capital of India?\", \"option1\": \"Delhi\" , \"option2\": \"Bombay\" , \"option3\": \"Calcutta\" , \"option4\": \"Chennai\"}]"; 

Gson gson = new Gson(); 
JsonParser parser = new JsonParser(); 
    JsonArray array = parser.parse(json).getAsJsonArray(); 

    for(JsonElement obj : array) { 
    Quiz quiz = gson.fromJson(obj,Quiz.class); 
    String question = quiz.getQuestion(); 
    System.out.println("Question: "+question); 
    quizList.add(quiz); 
    } 

我使用customadapter添加问题。

我该如何改变它使其工作? 任何想法?请让我知道...

感谢Nishit。

回答

0

试试这个

RadioGroup radioGroup; 
RadioButton radioButton1; 
RadioButton radioButton2; 
RadioButton radioButton3; 

boolean hack = false; 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    radioGroup = (RadioGroup) findViewById(R.id.radioGroup); 
    radioButton1 = (RadioButton) findViewById(R.id.r1); 
    radioButton2 = (RadioButton) findViewById(R.id.r2); 
    radioButton3 = (RadioButton) findViewById(R.id.r3); 

    OnClickListener radioClickListener = new OnClickListener() 
    { 

     public void onClick(View v) 
     { 
      if (v.getId() == radioGroup.getCheckedRadioButtonId() && hack) 
      { 
       radioGroup.clearCheck(); 
      } 
      else 
      { 
       hack = true; 
      } 
     } 
    }; 

    OnCheckedChangeListener radioCheckChangeListener = new OnCheckedChangeListener() 
    { 

     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
     { 
      hack = false; 
     } 
    }; 

    radioButton1.setOnCheckedChangeListener(radioCheckChangeListener); 
    radioButton2.setOnCheckedChangeListener(radioCheckChangeListener); 
    radioButton3.setOnCheckedChangeListener(radioCheckChangeListener); 

    radioButton1.setOnClickListener(radioClickListener); 
    radioButton2.setOnClickListener(radioClickListener); 
    radioButton3.setOnClickListener(radioClickListener); 

} 
+0

@Yash ..感谢您的信息。 – Nishit 2012-08-07 07:53:49