Come aggiungere la casella di controllo contatore Android Eclipse
-
28-10-2019 - |
Domanda
Ho 2 pulsanti di opzione e 4 caselle di controllo di cui voglio conservare il conteggio. Quando si seleziona il pulsante di radio 1, dovresti essere in grado di selezionare solo 3 caselle di controllo. Di seguito è il mio codice. Ho provato la logica di Newts ma non conta correttamente ... aiuto!
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;
}
}
Soluzione
Penso che tu debba mettere una logica in questo modo
Aggiornato
su 4 Casella di controllo Condizioni di controllo come questa
if(pubsSelected==3)
{
uncheck
}
else
{
checked
}
È un'altra semplice logica per te
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow