如何在android eclipse中添加复选框计数器
我有2个单选按钮和4个复选框,我想保持计数。当您选择单选按钮1时,您应该只能选择3个复选框。 下面是我的代码。我试过Newts的逻辑,但计算不正确…救命如何在android eclipse中添加复选框计数器,android,eclipse,radio-button,checkbox,radio-group,Android,Eclipse,Radio Button,Checkbox,Radio Group,我有2个单选按钮和4个复选框,我想保持计数。当您选择单选按钮1时,您应该只能选择3个复选框。 下面是我的代码。我试过Newts的逻辑,但计算不正确…救命 RadioButton radio3, radio6; int count=0; int pubsSelected=0; /** Called when the activity is first created. */ @Override public void onCre
RadioButton radio3, radio6;
int count=0;
int pubsSelected=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radio3 = (RadioButton) findViewById(R.id.radio0);
radio6 = (RadioButton) findViewById(R.id.radio1);
//---RadioButton1---
radio3.setOnClickListener(new RadioGroup.OnClickListener() {
public void onClick(View v){
int pubsSelected = 3;
int count=0;
DisplayToast("RadioButton is checked" +" "+ pubsSelected); }
});
//---RadioButton2---
radio6.setOnClickListener(new RadioGroup.OnClickListener() {
public void onClick(View v){
int pubsSelected = 6;
int count=0;
DisplayToast("RadioButton is checked" + " "+ pubsSelected); }
});
//---CheckBox 1---
CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox1);
checkBox.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
while(count < pubsSelected ) {
if (((CheckBox)v).isChecked())
count++;
DisplayToast("CheckBox is checked" + " " + count);
}
}} );
//---CheckBox 2---
CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
checkBox2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
while(count < pubsSelected) {
if (((CheckBox)v).isChecked())
count++;
DisplayToast("CheckBox is checked" + " " + count);
}
}});
//---CheckBox 3---
CheckBox checkBox3 = (CheckBox) findViewById(R.id.checkBox3);
checkBox3.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
while(count < pubsSelected) {
}
if (((CheckBox)v).isChecked())
count++;
DisplayToast("CheckBox is checked" + " " + count);
}
});
//---CheckBox 4---
CheckBox checkBox4 = (CheckBox) findViewById(R.id.checkBox4);
checkBox4.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
if (pubsSelected==3){
DisplayToast( "you have selected" + pubsSelected );
}
else{
if (pubsSelected==6){
DisplayToast(" you have selected" + pubsSelected );
}
}}});
}
private int DisplayToast(String msg)
{
Toast.makeText(getBaseContext(), msg,
Toast.LENGTH_SHORT).show();
return count;
}
}
RadioButtonRadio3,radio6;
整数计数=0;
int pubsSelected=0;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radio3=(RadioButton)findViewById(R.id.radio0);
radio6=(RadioButton)findViewById(R.id.radio1);
//---无线电按钮1---
radio3.setOnClickListener(新的RadioGroup.OnClickListener(){
公共void onClick(视图v){
int pubsSelected=3;
整数计数=0;
DisplayToast(“选中了RadioButton”+“”+pubsSelected);}
});
//---无线电按钮2---
radio6.setOnClickListener(新的RadioGroup.OnClickListener(){
公共void onClick(视图v){
int pubsSelected=6;
整数计数=0;
DisplayToast(“选中了RadioButton”+“”+pubsSelected);}
});
//---复选框1---
复选框=(复选框)findViewById(R.id.checkBox1);
checkBox.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v){
while(计数
我认为您必须这样放置逻辑
if(pubsSelected==3)
{
uncheck
}
else
{
checked
}
更新
在4复选框中选中这样的条件
if(pubsSelected==3)
{
uncheck
}
else
{
checked
}
这对你来说是另一个简单的逻辑你能澄清一下你说“卡住”是什么意思吗?问题到底是什么?目前正在发生什么?@koopaking3我修改了下面的代码,没有发生什么是如果我选中radiobutton 1并选中一个复选框,它会显示消息“复选框1、2、3”已选中,但这不是真的,因为我只选中了一个复选框。我想能够勾选3,但它不允许我勾选4。因此,我所说的“卡住”是指我对pubs selected value counter感到困惑或丢失。如何在“收音机”框或复选框中比较增量?我对每个都这样做吗?您获取pubsSelected值并与itam lost进行比较……我是否在(count