2017-10-10 6 views
-1

平均を計算するアプリケーションを作成しようとしていますが、名前calif1、cal2、cal3、promのフィールドがあります。 しかし、操作を送信してpromに何かを返すのに役立つボタンはありませんので、ボタンを必要とせずにcalXの3つの変数を追加する可能性があるかどうかを確認したいと思いました。変数promに格納されているので、テキストビュー(常にリフレッシュまたは自動合計で追加されます)でその印刷が行われた後です。 注:calif1、cal2、cal3は編集テキスト、promはテキストビューです。 P.D:アクション・アクションを使用してボタンとして機能する可能性を見ていましたが、可能かどうかわかりません。4つ目の変数(テキストビュー)にボタンを表示しない3つの変数の合計(テキストの編集)

<TableRow 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <EditText 
      android:id="@+id/editText7" 
      android:layout_width="150dp" 
      android:layout_height="35dp" 
      android:ems="10" 
      android:inputType="textPersonName" 
      android:textSize="14sp" /> 

     <EditText 
      android:id="@+id/editText8" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:ems="10" 
      android:inputType="number" 
      android:textSize="14sp" 
      android:maxLength="2" 
      android:digits="1234567890" 
      android:singleLine="true"/> 

     <EditText 
      android:id="@+id/editText9" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:ems="10" 
      android:inputType="number" 
      android:textSize="14sp" 
      android:maxLength="2" 
      android:digits="1234567890" 
      android:singleLine="true"/> 

     <EditText 
      android:id="@+id/editText10" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:ems="10" 
      android:inputType="number" 
      android:textSize="14sp" 
      android:maxLength="2" 
      android:digits="1234567890" 
      android:singleLine="true" 
      android:imeOptions="actionGo"/> 

     <TextView 
      android:id="@+id/textView11" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:ems="10" 
      android:text="TextView" 
      android:textSize="14sp" 
      android:maxLength="3" 
      android:singleLine="true"/> 

    </TableRow> 
+0

私は方法を書いていますが、編集テキストに入力された値が順不同でなければならないかどうかは分かりませんか? – Xenolion

答えて

0

editTextフィールドに値がある場合にtextChangedListenerを使用してコールバックを取得し、平均を計算できます。

参考:アンドロイドを使用してTextWatcher Documentation

:imeoptionsも同様の結果を得ることができます。

0

あなたは3つのEditTextに対してtextChangeListernerを利用することができます。私はcalif1の例を含めました

calif1.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void afterTextChanged(Editable s) { 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, 
             int count, int after) { 
     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, 
            int before, int count) { 
      if (s.length() > 0) { 
       int a = Integer.parseInt(calif.getText().toString())+      
       Integer.parseInt(cal1.getText().toString()) + 
       Integer.parseInt(cal2.getText().toString()) 
       prom.setText(""+a); 
       } 



      } 
     } 
    }); 
関連する問題