2017-04-03 58 views
1

我目前編碼一個Android應用程序,但我遇到了一些困難。 我能夠從使用getIntent().getExtras().getBoolean()功能的其他活動獲得一定的複選框值。Android複選框,如何實現if語句。

但我的問題是,我如何確保與字符'wb'或'ab'或'alb'一起出現的(或不)'cs'複選框,計數和執行選擇'wb','ab'和'alb'之間的最大值,並通過texfield顯示摘要。

例如如果存在的「WB」亮相比「白蛋白」和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 
       } 

     } 
    }); 
} 

}

感謝提前的幫助。

+0

你想要計數wb,alb和ab的權利嗎? – Vennila

+0

是的,我做@Venilla – VicMo

+0

您是否嘗試過它被張貼了我的第二個答案 – Vennila

回答

0

設置默認布爾值。像這樣

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

您可以通過使用if語句來獲得下面的wb,ab和alb的數量。

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

謝謝。這將大大幫助 – VicMo

+0

我發現這有幫助。 @Vennila。 {} – VicMo

+0

沒有probs。如果你有結果,請爲這個答案投票。謝謝。 – Vennila