2017-09-15 5 views
0

J'ai 2 EditText qui reçoivent une valeur numérique, et j'ai besoin de sommer les deux valeurs et de montrer dinamically dans un TextView. Je n'ai pas de bouton pour démarrer la somme, donc quand l'utilisateur tape le TextView besoin de changer automatiquement. J'ai essayé avec TextWatcher mais j'ai des problèmes quand l'utilisateur tape 2 nombres dans le même EditText (s'il tape "1" que "2", l'affichage de TextView "3" et pas "12")Mise à jour dynamique de TextView à l'aide de RxJava

Voici mon XML:

<EditText 
    android:layout_height="wrap_content" 
    android:layout_width="200dp" 
    android:id="@+id/edit1" /> 
    <EditText 
    android:layout_height="wrap_content" 
    android:layout_width="200dp" 
    android:id="@+id/edit2" /> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/text1"/> 

mon code Java:

editText1.addTextChangedListener(new TextWatcher(){ 
     DecimalFormat dec = new DecimalFormat("0.00"); 
     @Override 
     public void afterTextChanged(Editable arg0) { 
      if(!arg0.toString().equals(current)){ 

       String edittext1_value = arg0.toString(); 
       int total = Integer.parseInt(edittext1_value + edittext2_value) 


      } 
     } 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, 
             int count, int after) { 
      finish_contribuir.setVisibility(View.VISIBLE); 
      add_more.setVisibility(View.VISIBLE); 
     } 
     private String current = ""; 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int 
     count) { 
      if(!s.toString().equals(current)){ 

      } 
     } 
    }); 

Certains gars ici au bureau ont dit que RxJava peut-être résoudre mon problème

Répondre

1

Remplacer:

Integer.parseInt(edittext1_value + edittext2_value)  

avec:

Integer.parseInt(edittext1_value)+ Integer.parseInt(edittext2_value);