Android复选框,如何实现if语句。

时间:2017-04-03 09:39:56

标签: android if-statement checkbox count

我目前正在编写Android应用程序,但我遇到了一些困难。 我可以使用getIntent().getExtras().getBoolean()函数从其他活动中收到一些复选框值。

但我的问题是,如何确保带有字符' wb'的复选框?或者' ab'或者' alb'和(或没有)' cs'出现,进行计数,并且在' wb',' ab'之间进行计数。和' alb'选择并通过texfield显示摘要。

e.g。如果出现'wb'大于' alb'和ab,然后显示结果"你有一个加宽的支气管"。

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
                }

        }
    });
}

}

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

设置默认布尔值。喜欢这个

 final Boolean wb1 = getIntent().getExtras().getBoolean("wb1",true);

答案 1 :(得分:0)

您可以在下面获取wb,ab和alb的计数,使用它可以编写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++;
            }
        }