2012-11-23 10 views
7

Mam aktywność, która wyświetla różne radiobuttons. Radiobuttony są pogrupowane w radiologie. Chcę, aby część radiobuttonu zniknęła, gdy zostanie sprawdzony pewien radiobutton. np. gdy przycisk incydentu jest sprawdzany, znika sygnał radiowy upadku, podróży i choroby. Jak mogę to osiągnąć?jak dołączyć słuchacza do przycisku radiowego

Mam kod foolowing, ale trzeba jakoś dołączyć słuchacza do przycisku incydentu.

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.reportsomethinglayout); 

     resolution = (EditText)findViewById(R.id.editTextresolution); 
     // resolution.setInputType(InputType.TYPE_NULL); 
     // showSoftKeyboard(resolution); 



     accident = (RadioButton)findViewById(R.id.radioButtonaccident); 
     incident = (RadioButton)findViewById(R.id.radioButtonincident); 
     concern = (RadioButton)findViewById(R.id.radioButtonconcern); 
     fall = (RadioButton)findViewById(R.id.radioButtonfall); 
     trip = (RadioButton)findViewById(R.id.radioButtonTrip); 
     illness = (RadioButton)findViewById(R.id.radioButtonillness); 





    } 



    public void onRadioButtonClicked(View view) { 
      // Is the button now checked? 
      boolean checked = ((RadioButton) view).isChecked(); 

      // Check which radio button was clicked 
      switch(view.getId()) { 
       case R.id.radioButtonaccident: 
        if (checked) 
         Log.e(TAG, "accident radiobutton checked"); 
        break; 
       case R.id.radioButtonincident: 
        if (checked) 
         Log.e(TAG, "incident radiobutton checked"); 

          fall.setVisibility(View.GONE); 
          trip.setVisibility(View.GONE); 
          illness.setVisibility(View.GONE); 
        break; 
      } 
     } 

.

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/carefreebgscaledalphajpg" > 
<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/linearlayoutasscrollneedsonenamedchild" > 
<TextView 
     android:id="@+id/reportsomethingtitletextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Carer Reporting" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_gravity="center" /> 


     <TextView 
     android:id="@+id/textViewcategory" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Category" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

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


    <RadioButton 
     android:id="@+id/radioButtonaccident" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Accident" /> 

    <RadioButton 
     android:id="@+id/radioButtonincident" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Incident" /> 

    <RadioButton 
     android:id="@+id/radioButtonconcern" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Concern" /> 

    </RadioGroup> 


    </LinearLayout> 

    <TextView 
     android:id="@+id/textViewspacer" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="" /> 


    <TextView 
     android:id="@+id/textViewtype" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Type" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

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

    <RadioButton 
     android:id="@+id/radioButtonfall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Fall" /> 

    <RadioButton 
     android:id="@+id/radioButtonTrip" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Trip" /> 

    <RadioButton 
     android:id="@+id/radioButtonillness" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Illness" /> 

    </RadioGroup> 

    </LinearLayout> 

    <TextView 
     android:id="@+id/textViewspacer2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="" /> 


    <TextView 
     android:id="@+id/textViewaction" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Action" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

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

    <RadioButton 
     android:id="@+id/radioButtonCallDoctor" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Call Doctor" /> 

    <RadioButton 
     android:id="@+id/radioButtoncalledkin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Called next of kin" /> 



    </RadioGroup> 

    </LinearLayout> 

    <TextView 
     android:id="@+id/textViewspacer3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="" /> 


    <TextView 
     android:id="@+id/textViewresolution" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Resolution" /> 

    <EditText 
     android:id="@+id/editTextresolution" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="1" 
     android:lines="8" 
     android:inputType="textMultiLine" 
     > 

     <requestFocus /> 
    </EditText> 

    <Button 
     android:id="@+id/buttonsubmit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="Submit" /> 

    </LinearLayout> 
</ScrollView> 
</LinearLayout> 

Odpowiedz

16

spróbuj tak: -

RadioGroup group = (RadioGroup) findViewById(R.id.radioGroup1); 

group.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) 
     { 
     // TODO Auto-generated method stub 
     if(radiobutton1.isChecked()) { 
      fall.setVisibility(View.GONE); 
      trip.setVisibility(View.GONE); 
      illness.setVisibility(View.GONE); 
     } else if(radiobutton2.isChecked()) { 

     } 
    } 
}); 
+0

dziękuję działa dobrze teraz – turtleboy

+0

zawsze mile widziane koleś – sachin10

11

Można ustawić słuchacza na RadioGroup z setOnCheckedChangeListener. Wywołanie zwrotne onCheckedChanged otrzymuje identyfikator nowo sprawdzonego przycisku w parametrze checkedId.

W Twoim przypadku, wystarczy dodać identyfikator do grupy radiowej (w celu pobrania go z kodu)

<RadioGroup 
    android:id="@+id/category_group" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

I użyć następującego kodu:

RadioGroup categoryGroup = (RadioGroup) findViewById(R.id.category_group); 
categoryGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

@Override 
public void onCheckedChanged(RadioGroup group, int checkedId) { 
    switch(checkedId) { 
     case R.id.radioButtonincident: 
      // 'Incident' checked 
      fall.setVisibility(View.GONE); 
      trip.setVisibility(View.GONE); 
      illness.setVisibility(View.GONE); 
      break; 
     case R.id.radioButtonaccident: 
      // 'Accident' checked 
      break; 
     case R.id.radioButtonconcern: 
      // 'Concern' checked 
      break; 
     } 
    } 
}); 
Powiązane problemy