2014-02-13 2 views
1

Я новичок в Android, пожалуйста, помогите мне.Как сравнить два значения флажка на Android?

Как добиться того, чтобы значение печаталось, если оба флажка включены в следующий код?

public EditText output; 
Button one; 

int a; 
CheckBox check,check1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    output =(EditText)findViewById(R.id.editText1); 
    one=(Button)findViewById(R.id.button1); 
    check = (CheckBox)this.findViewById(R.id.checkbox1); 
    check1 = (CheckBox)this.findViewById(R.id.checkbox2); 

    check.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
        //is chkIos checked? 
      if (((CheckBox) v).isChecked()) { 
       a=100; 

      } 
      else{ 
       a=0; 
      } 
       } 
         }); 

    check1.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
        //is chkIos checked? 
      if (((CheckBox) v).isChecked()) { 
       a=100; 
      } 
      else{ 
       a=0; 
      } 
      } 
}); 


//this statment is wrong. if((check.isChecked() == true)&&(check.isChecked() == true)){ 

     a=200; 
    } 

one.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) {     
      if(v==one){ 
       output.setText(""+a); 
      } 
     } 
}); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

ответ

1

В методе OnClick кнопки

if((checkBox1.isChecked()) && (checkBox2.isChecked)){ 
    editText.setText("Both are checked"); 
} 

Мы не должны назначать любые переменные, как метод возвращает IsChecked boolean и, следовательно, можно проверить непосредственно внутри if.

+0

это не оказывает никакого влияния на мой код :( – user3306441

+0

Вы удалили реализацию для setOnClickListener() вы назвали ваши флажков Вы можете также разместить изменения, которые вы сделали –

+0

(R.id.checkbox1).? \t \t Check1 = (CheckBox) this.findViewById (R.id.checkbox2); \t \t \t \t one.setOnClickListener (новый View.OnClickListener() { \t \t \t общественного недействительными OnClick (View v) \t \t { \t \t \t \t, если (check.isChecked()) {а = 100;} \t \t \t \t еще {а = 0;} \t \t \t \t, если (check1.isChecked()) {а = 100;} \t \t \t \t еще {а = 0;} \t \t \t \t, если (check.isChecked() && check1.isChecked()) \t \t { \t \t \t а = 200; \t \t} \t \t еще {а = 0;} \t \t, если (v == один) \t \t { \t \t \t выход.SetText ("" + а); \t \t \t} \t \t \t \t}}); это мой новый код – user3306441

0

Объявите два флажка в качестве окончательного и сравнить с

if (check.isChecked() == true && check1.isChecked == true) 

В моем случае это работает. Пример: Проверьте состояние флажка в методе OnClick кнопки

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final CheckBox check = (CheckBox)findViewById(R.id.check); 
    Button button1 = (Button)findViewById(R.id.button1); 

    button1.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       Log.d("Tag-test", "Value:" + check.isChecked()); 
      } 
    }); 
} 
+0

это не wroking, как если check.isChecked() {// комментарии} DONOT возвращает никакого значения. – user3306441

1
public void onCheckboxClicked(View view) { 
    // Is the view now checked? 
    boolean checked = ((CheckBox) view).isChecked(); 

    // Check which checkbox was clicked 
    switch(view.getId()) { 
     case R.id.checkbox_meat: 
      if (checked) 
       // Put some meat on the sandwich 
      else 
       // Remove the meat 
      break; 
     case R.id.checkbox_cheese: 
      if (checked) 
       // Cheese me 
      else 
       // I'm lactose intolerant 
      break; 
     // TODO: Veggie sandwich 
    } 
} 
+0

, если установлены флажки checkbox_meat и checkbox_cheese, мне нужно какое-то действие, которое нужно выполнить, может помочь мне в этом. – user3306441

+0

Не могли бы вы рассказать мне, какие действия вам нужно делать там? И с какой частью реализации вам нужна помощь? – mayooran

0
This is my new code 

public EditText output; 
Button one; 

int a; 
CheckBox check,check1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
output =(EditText)findViewById(R.id.editText1); 
    one=(Button)findViewById(R.id.button1); 
    check = (CheckBox)this.findViewById(R.id.checkbox1); 
    check1 = (CheckBox)this.findViewById(R.id.checkbox2); 

    one.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) 
     { 
      if(check.isChecked()){a=100;} 
      else{a=0;} 
      if(check1.isChecked()){a=100;} 
      else{a=0;} 

       if(check.isChecked()&& check1.isChecked()) 
       { 
        a=200; 
       } 
       else{a=0;} 
       if(v==one) 
       { 
        output.setText(""+a); 
        } 

     }}); 
+0

здесь, если (check.isChecked() && check1.isChecked()) работает нормально, но если (check.isChecked()) {a = 100;} else {a = 0;} if (check1.isChecked()) {a = 100;} else {a = 0;} значение 0 – user3306441

Смежные вопросы