2016-07-24 75 views
0
chkSend.setOnClickListener(sendClickListener); 

private OnClickListener sendClickListener = new OnClickListener() { 
    @Override 
    public void onClick(View v) { 

    } 
}; 

我必須將複選框設置爲禁用,但我需要用戶onclick,我該怎麼辦?當我在xml中設置enable = false時,Android複選框不能使用onclick

我發現有人說可以工作,但我不知道如何使用它?

public class BtCheckBox extends CheckBox { 
    public BtCheckBox(Context context) { 
     super(context); 
    } 

    public BtCheckBox(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public BtCheckBox(Context context, AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
    } 

    @Override 
    public boolean performClick() { 
     return callOnClick(); 
    } 
} 
+0

我不明白。如何禁用複選框並允許點擊? – PPartisan

+0

是的,我看到有人說覆蓋performClick和return callOnClick()可以做到,但我不知道如何使用它 – DonnieHe

回答

0

這是不可能的,因爲當您禁用複選框時,這意味着它不可點擊。

0

如果你想在某些情況下取消選中你的checkBox,你可以檢查setOnCheckedChangeListener();

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
       @Override 
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { 
        if(isChecked) 
        { 
         checkBox.setChecked(false); 
        } 
       } 
      }); 
相關問題