2017-11-19 10 views
0

私はwidget.switchを持っています。スイッチの値に応じて、特定の数値を2で割る(または2を掛ける)ようにしています。ここでwidget.switchを使用してeditText値を変更する方法

は、プライバシーのために編集され、私が持っているもの、実質的です:のonCreateで

theSwtch = (Switch)findViewById(R.id.theSwtch); 
theSwtch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if (theSwtch.isChecked()){theSwtch.setText("Weekly"); switcher = true;} 
     else if (!theSwtch.isChecked()){theSwtch.setText("Bi-Weekly"); switcher = false;} 
     // do something, the isChecked will be 
     // true if the switch is in the On position 
    } 
}); 

とのOnClickで:

public void onClick(View view) { 
    Double someNumber = Double.parseDouble(editTextInput.getText().toString()); 
    if (view.getId() == theSwitch.getId()){ 
     if (!theSwitch.isChecked()) { 
      someNumber = someNumber/2; 
      editTextInput.setText(someNumber.toString()); 
     } else if (wklySwtch.isChecked()) { 
      someNumber = someNumber*2; 
      editTextInput.setText(someNumber.toString()); 
     } 
     if (view.getId() == btnCalculate.getId()) { 
      outPut.setText(someNumber.toString()); 
     } 
    } 
} 

答えて

1

分割またはから掛けるためにあなたのロジックを削除します代わりに、OnClickListListenerは、OnCheckedChangedListenerですべてを行います。

theSwtch = (Switch)findViewById(R.id.theSwtch); 
    theSwtch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 

      Double someNumber = Double.parseDouble(editTextInput.getText().toString()); 
      if (theSwtch.isChecked()){ 
       theSwtch.setText("Weekly"); 
       switcher = true; 
       someNumber = someNumber/2; 
       editTextInput.setText(someNumber.toString()); 
      } else if (!theSwtch.isChecked()) { 
       theSwtch.setText("Bi-Weekly"); 
       switcher = false; 
       someNumber = someNumber*2; 
       editTextInput.setText(someNumber.toString()); 
      } 
       // do something, the isChecked will be 
       // true if the switch is in the On position 
     } 
    }); 
+0

あなたは天才です!できます! –

関連する問題