2016-09-17 61 views
0

我有一個場景,我在屏幕上有一個單選按鈕。我希望它像一個複選框,所以用戶可以選擇或取消選擇該單選按鈕。現在,如果用戶點擊單選按鈕,他無法取消選中該單選按鈕。如何處理佈局上的單選按鈕

請引導我如何取消選中單選按鈕。

單選按鈕XML

<RadioButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="Remember me" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="20dp" 
    android:textSize="14sp" 
    android:fontFamily="sans-serif-light" 
    android:layout_weight="1" 
    style="@style/radionbutton" 
    android:paddingLeft="10dp" 
    android:textColor="@color/grayCheckoutFont" 
    /> 
+2

使用複選框而不是RadioButton,RadioButtons用於從多個選項中選擇一個選項,如在測驗應用程序中。每當你想啓用或禁用一個設置時使用複選框 –

+0

謝謝! :) – Kirmani88

+0

使用與自定義繪製複選框,你會得到相同的結果 –

回答

1
RadioButton rb; 

rb = (RadioButton) findViewById(R.id.rb); 


if(rb.isChecked()) 
{ 
    \\ is checked set it unchecked here 
    rb.setChecked(false); 
} 
else 
{ 
    \\ not checked 
} 

試試吧

1

對付這將是用作單選按鈕提供一個複選框插件的最好辦法是不是在這種情況下,理想。這仍然是可以實現的。 Preetika Kaur的代碼很好,但只要啓用它就會取消選中RadioButton。然而,這也是一個簡單的工作。 這是一個使用Butterknife的例子。

int i = 0; 
    @BindView(R.id.btn) RadioButton btn; 

    @OnClick(R.id.btn) 
    public void go(RadioButton btn) { 
     if(i == 0){ 
     i++; 
     btn.setChecked(true); 
     }else{ 
     i = 0; 
     if(btn.isChecked()){ 
      btn.setChecked(false); 
     }else{ 
      // Not Checked 
     } 
     } 
    } 


/* 
    Other Code 
*/ 

@Override public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.simple_activity); 
    ButterKnife.bind(this); 
    // TODO Make App 
    }