2012-11-23 13 views
7

मेरे पास एक गतिविधि है जो विभिन्न रेडियोबूटन प्रदर्शित करती है। Radiobuttons radiogroups में समूहित कर रहे हैं। मैं चाहता हूं कि कुछ रेडियोबूटन गायब हो जाएं जब एक निश्चित रेडियोबूटन की जांच की जाती है। उदाहरण के लिए जब घटना बटन गिरने की जांच की जाती है, यात्रा और बीमारी रेडियोबूटन गायब हो जाती है। इसे कैसे प्राप्त किया जा सकता है?रेडियो बटन पर श्रोता को कैसे संलग्न करें

मेरे पास मूर्ख कोड है लेकिन किसी भी तरह से ईवेंट बटन पर श्रोता को संलग्न करने की आवश्यकता है।

@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> 

उत्तर

16

इस तरह की कोशिश: -

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

बहुत बहुत शुक्रिया ठीक काम करता है अब – turtleboy

+0

हमेशा दोस्त का स्वागत करते हैं – sachin10

11

आप setOnCheckedChangeListener के साथ एक RadioGroup पर एक श्रोता सेट कर सकते हैं। onCheckedChanged कॉलबैक checkedId पैरामीटर में नए चेक किए गए बटन की आईडी प्राप्त करता है।

आपके मामले में, बस अपने रेडियो समूह के लिए एक आईडी जोड़ने

<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" > 

(अपने कोड से इसे पुनः प्राप्त करने के क्रम में) और निम्न कोड का उपयोग करें:

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; 
     } 
    } 
});