Je suis en train de coder une application Android mais j'ai rencontré des difficultés. Je peux recevoir des valeurs de case à cocher d'une autre activité à l'aide de la fonction getIntent().getExtras().getBoolean().

Mais ma question est la suivante: comment puis-je m'assurer que les cases à cocher avec les caractères `` wb '' ou `` ab '' ou `` alb '' avec (ou non) `` cs '' apparaissent, un décompte est effectué et celui avec la plus grande valeur entre ' wb ',' ab 'et' alb 'est choisi et un résumé est affiché via un texfield.

Par exemple. si les apparences de 'wb' sont plus grandes que celles de 'alb' et ab, alors le résultat est affiché "vous avez une bronche élargie".

package com.example.vic.cdmes_;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View; 
import android.widget.Button;
import android.widget.Toast;

public class results extends AppCompatActivity {
private Button displayResult;

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_results);
    viewResults();

}

private void viewResults() {
    final Boolean wb1 = getIntent().getExtras().getBoolean("wb1");
    final Boolean wb2 = getIntent().getExtras().getBoolean("wb2");
    final Boolean wb3 = getIntent().getExtras().getBoolean("wb3");
    final Boolean wb4 = getIntent().getExtras().getBoolean("wb4");
    final Boolean wb5 = getIntent().getExtras().getBoolean("wb5");
    final Boolean wb6 = getIntent().getExtras().getBoolean("wb6");
    final Boolean wb7 = getIntent().getExtras().getBoolean("wb7");
    final Boolean cs1 = getIntent().getExtras().getBoolean("cs1");
    final Boolean cs2 = getIntent().getExtras().getBoolean("cs2");
    final Boolean vb1 = getIntent().getExtras().getBoolean("vb1");
    final Boolean vb2 = getIntent().getExtras().getBoolean("vb2");
    final Boolean vb3 = getIntent().getExtras().getBoolean("vb3");
    final Boolean vb4 = getIntent().getExtras().getBoolean("vb4");
    final Boolean vb5 = getIntent().getExtras().getBoolean("vb5");
    final Boolean alb1 = getIntent().getExtras().getBoolean("alb1");
    final Boolean alb2 = getIntent().getExtras().getBoolean("alb2");
    final Boolean alb3 = getIntent().getExtras().getBoolean("alb3");
    final Boolean ab1 = getIntent().getExtras().getBoolean("ab1");
    final Boolean ab2 = getIntent().getExtras().getBoolean("ab2");
    final Boolean ab3 = getIntent().getExtras().getBoolean("ab3");
    final Boolean ab4 = getIntent().getExtras().getBoolean("ab4");

    displayResult = (Button)findViewById(R.id.displayResults);
    displayResult.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Toast.makeText(results.this,.toString(),
              //      Toast.LENGTH_SHORT).show();
            if(wb1&&wb2&&wb3&&wb4&&wb5&&wb6&&wb7&&cs1&&cs2)
            {
                //if the number of checkboxes exceeds
            }
            else
                if (vb1&&vb2&&vb3&&vb4&&vb5&&cs1&&cs2)
                {
                    //display the person might be having a widened bronchus
                }
                else
                if (alb1&&alb2&&alb3&&cs1&&cs2)
                {
                    //display the person might be having a alb disease
                }
                else
                if (ab1&&ab2&&ab3&&ab4&&cs1&&cs2)
                {
                    //display the person might be having a airborne disease
                }

        }
    });
}

}

Merci pour l'aide à l'avance.

1
VicMo 3 avril 2017 à 12:39

2 réponses

Meilleure réponse

Définissez la valeur booléenne par défaut. Comme ça

 final Boolean wb1 = getIntent().getExtras().getBoolean("wb1",true);
0
ITSGuru 3 avril 2017 à 10:06

Vous pouvez obtenir le nombre de wb, ab et alb ci-dessous, en utilisant cela, vous pouvez écrire l'instruction if.

int wbCount = 0,  abCount = 0, albCount = 0;
boolean cs = (cs1 && cs2);

        for(int i=1; i <= 7; i++) {
            if(getIntent().getExtras().getBoolean("wb"+i) && cs) {
                wbCount++;
            }
        }
        for(int i=1; i <= 3; i++) {
            if(getIntent().getExtras().getBoolean("alb"+i) && cs) {
                albCount++;
            }
        }
        for(int i=1; i <= 4; i++) {
            if(getIntent().getExtras().getBoolean("ab"+i) && cs) {
                abCount++;
            }
        }
0
Vennila 3 avril 2017 à 10:42