2017-03-06 39 views
0

textwatchers用於計算多個的EditText我將獲得從第一EditText和一個多值從第二EditText計算這兩個值的值,並顯示其僅一個TextWatcher在機器人使用該結果在第三EditText。 請幫我謝謝。只有一個在機器人

​​

public class TextWatcher_Activity extends Activity { 
    private EditText passwordEditText, passwordEditText1, passwordEditText2; 
    private TextView textView; 
    private View view; 

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

     /* Initializing views */ 
     passwordEditText = (EditText) findViewById(R.id.password); 
     textView = (TextView) findViewById(R.id.passwordHint); 
     textView.setVisibility(View.GONE); 

     passwordEditText1 = (EditText) findViewById(R.id.password1); 
     passwordEditText2 = (EditText) findViewById(R.id.password2); 

passwordEditText.addTextChangedListener(passwordWatcher); 
     passwordEditText1.addTextChangedListener(passwordWatcher); 
     passwordEditText2.addTextChangedListener(passwordWatcher); 
} 
    private final TextWatcher passwordWatcher = new TextWatcher() { 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

      } 

      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       textView.setVisibility(View.VISIBLE); 
      } 

      public void afterTextChanged(Editable s) { 


       *//* if (s.hashCode() == passwordEditText.getText().hashCode()) { 
        //Do else something with input. 
       } else if (s.hashCode() == passwordEditText1.getText().hashCode()) { 
        //Do something else useful with input. 
       }*//* 

       switch (view.getId()) { 
        case R.id.password: 
         //doStuff(1); 
         if (s.length() == 0) { 
          textView.setVisibility(View.GONE); 
         } else { 
          textView.setText("You have entered : " + passwordEditText.getText()); 
         } 
         break; 
        case R.id.password1: 
         //doStuff(2); 
         if (s.length() == 0) { 
          textView.setVisibility(View.GONE); 
         } else { 
          textView.setText("You have entered : " + passwordEditText1.getText()); 
         } 
         break; 
        case R.id.password2: 
         if (s.length() == 0) { 
          textView.setVisibility(View.GONE); 
         } else { 
          textView.setText("You have entered : " + passwordEditText2.getText()); 
         } 
         break; 
       } 
      } 
     }; 
+0

什麼你都試過? – Wizard

回答

0

您可以使用此方法,並ajust到你的代碼

private void calculate(EditText editText1, EditText editText2, final EditText editText3) { 
     final int[] value1 = {0}; 
     final int[] value2 = {0}; 
     final int[] total = {0}; 
     editText1.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       value1[0] = Integer.parseInt(s.toString()); 
       total[0] = value1[0] + value2[0]; 
       editText3.setText(total[0]); 
      } 

      @Override 
      public void afterTextChanged(Editable s) {} 
     }); 
     editText2.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       value2[0] = Integer.parseInt(s.toString()); 
       total[0] = value1[0] + value2[0]; 
       editText3.setText(total[0]); 
      } 

      @Override 
      public void afterTextChanged(Editable s) {} 
     }); 
    } 

editText3已總editText1 + editText2的

+0

我得到了一個錯誤,使用這個函數,請告訴我我怎麼打電話在活動 –

+0

叫你如何調用任何其他方法,只是通過你的editTexts例如'calculate(editText1,editText2,editText3);'從你的活動初始化後editTexts –