1

私はAndroid開発に不慣れで、ユーザーが2つのEditTextフィールドに数値を入力し、「計算」というラベルの付いたボタンを押すと、2つの数値の合計が表示される簡単な練習プロジェクトに取り組んでいます。これまでのコードは次のとおりですが、2つの文字列値を追加して、「answer」という名前のTextViewフィールドに出力する方法がわかりません。

public void calNumbers(View view) {
    EditText text = (EditText)findViewById(R.id.edit_number1);
    String value = text.getText().toString();       

    EditText text2 = (EditText)findViewById(R.id.edit_number2);
    String value2 = text2.getText().toString();              

    TextView answer = (TextView) findViewById(R.id.answer);      
}
4

4 に答える 4

8

算術演算を実行するには、それらを数値(int、float、longなど)に変換する必要があります。次に、結果を文字列に変換して戻し、TextViewに表示します。

int val1 = Integer.parseInt(value);
int val2 = Integer.parseInt(value2);

answer.setText(String.valueOf(val1 + val2));
于 2012-05-29T15:51:51.490 に答える
5

文字列の整数値を取得するには:

final int myResult = Integer.parseInt(myString1) + Integer.parseInt(myString2);

次に、加算を実行して、結果を変数に格納できます。次に、結果を文字列として表示するには、次のようにします。

answer.setText(Integer.toString(myIntResult));
于 2012-05-29T15:51:47.690 に答える
4

文字列をlongまたは必要なものにキャストします

public void calNumbers(View view) {
    EditText text = (EditText)findViewById(R.id.edit_number1);
    String value = text.getText().toString();       

    EditText text2 = (EditText)findViewById(R.id.edit_number2);
    String value2 = text2.getText().toString();              

    TextView answer = (TextView) findViewById(R.id.answer);      
    long l1 = Long.parseLong(text);
    long l2 = Long.parseLong(text2);

    long result = l1 + l2;
    answer.setText(Long.toString(result));
}
于 2012-05-29T15:53:09.443 に答える
1

EditTextからさまざまな方法で値を取得できますが、操作を行う場合は、最初にこれらのことを確認してください。EditTextのXMLのレイアウトで、android:inputTypeがに設定されていることを確認してください。そうしないと"number"、ユーザーがアプリを台無しにしないようになります。"numberSigned""numberDecimal"

次に、Javaクラスで、期待される出力に応じて、数値の引数をグローバルに0に初期化します。整数(int)は整数(inputType numberまたはnumberSigned)の間の合計または減算、またはより一般的にはすべての操作のdoubleです。

最後に、情報を解析する必要があります。2つの不要な変換が含まれるため、テキスト文字列として取得するのではありません。

public void wattSystemView(View view) {

/**
* decimal values entered in hor_editText and wh_editText
* number of days without sun of the system as a whole number at days_editText
*/

hours     = (EditText) findViewById(R.id.hor_editText);
wh        = (EditText) findViewById(R.id.wh_editText);
daysNoSun = (EditText) findViewById(R.id.nosun_days_editText);

/**
* conversion to double of the decimal values entered 
* conversion to integer of the number of days without sun of the system
*/
numh      = Double.parseDouble(hours.getText().toString());
numwh     = Double.parseDouble(wh.getText().toString());
nosundays = Integer.parseInt(daysNoSun.getText().toString());

    /**
    * simple math 
    */
    double wattDay = numh * numwh;
    double wattSys = wattDay*nosundays;
于 2015-08-10T15:11:53.560 に答える