2017-05-10 14 views
1

具体的な音量を計算するアプリを作成しています。私は3つのeditTextフィールドを持っていますが、データが入力されたときに、それらのテキストフィールドの1つをフィートからインチまで自動的に計算します。これを行うには、フィールドにある数字を12で分けるだけですが、それを行うためのコードを書くにはどうすればいいですか?ここでテキストの編集自動計算

は私のJavaコードです:

public class Calculation extends Activity implements View.OnClickListener { 

    private Button aButton; 
    private TextView tvAnswer; 
    private EditText input1, input2, input3; 


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

     tvAnswer = (TextView) findViewById(R.id.answer); 
     input1 = (EditText) findViewById(R.id.length); 
     input2 = (EditText) findViewById(R.id.width); 
     input3 = (EditText) findViewById(R.id.thickness); 
     aButton = (Button) findViewById(R.id.button); 
     aButton.setOnClickListener(this); 
    } 

    public void onClick(View v) { 

     Double inputt1 = input1.getText().toString().equals("") ? 0 : Double.valueOf(input1.getText().toString()); 
     Double inputt2 = input2.getText().toString().equals("") ? 0 : Double.valueOf(input2.getText().toString()); 
     Double inputt3 = input3.getText().toString().equals("") ? 0 : Double.valueOf(input3.getText().toString()); 

     switch (v.getId()){ 
      case R.id.button: 
     tvAnswer.setText(Double.toString(inputt1*inputt2*inputt3)); 
      break; 
     default: 
      break; 

答えて

0

私は、データが必要なもの

に入力されたときに、それらのテキストフィールドのいずれかが自動的インチ に足から計算したいTextWatcherです

public TextWatcher mTextWatcher = new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { 
     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { 
     } 

     @Override 
     public void afterTextChanged(Editable editable) { 
      // do calculation here 
      calculation(); 
     } 
    }; 

onCreate方法では、あなたがあなたのEditTextにTextWatcherを使用する必要があり、この

input1.addTextChangedListener(mTextWatcher); 
+1

私はこれを明日試してフィードバックを行います –

0

を追加します。

input1.addTextChangedListener(new TextWatcher() { 
@Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
     } 
     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void afterTextChanged(Editable editable) { 
      // Call method to calculate your value same way you do in onClick() 
     } 
    });