-1

他の多くの人と同じように、私はアンドロイドが初めてです。これを行う方法の説明をどこでも探しましたが、何も見つかりませんでした。これは私が作ろうとしているアプリです。 http://i.stack.imgur.com/JGhJP.png

上の2つの編集テキストから入力を取得して文字列に入れ、それらを乗算して、その答えを下の編集テキストに等しく設定する必要があると思いますか? 私はそれを正しく行う方法について混乱しています。これまでに試したことは次のとおりです。

  package com.wattzen.testcalculation;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.support.v4.app.NavUtils;

public class Main extends Activity {

private static final String total_Made = "total_Made";

private double tmmade;
private int hedittext;
private int etmade;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (savedInstanceState == null) {
        tmmade = 0.0;

    } else {
        tmmade = savedInstanceState.getDouble(total_Made);
    }
}
    {

{
    hedittext = (EditText) findViewById(R.id.ethours);
    etmade = (EditText) findViewById(R.id.etmade);
    etmade.addTextChangedListener(etmadeWatcher);}

}

private void updateStandard() {
    double tmmade = hedittext * etmade;
    tmmade.addTextChangedListener(tmmadeWatcher);
    double toTal= tmmade;
}

}

ここにxmlがあります

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hours Worked" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/ethours"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="number" >

            <requestFocus />
        </EditText>

    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="18dp"
            android:text="Amount made per hour" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/etmade"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="number" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </TableRow>

    <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/bcalculate"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Calculate" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Total Money Made" />

    </TableRow>

    <EditText
        android:id="@+id/tmmade"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="false"
        android:ems="10"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:inputType="number" />

</TableLayout>

皆さんが私に与えることができるどんな助けにも感謝します。ありがとう。

4

2 に答える 2

1

変更が必要な行の手がかりとなる大量の構文エラーが発生するはずです。

hedittext と etmade は int であるため、onCreate() のように EditText と等しく設定することはできません。

最初に、EditTexts の実際のコンテンツを取得する必要があります。これを行うには、編集テキストのgetText()メソッドを呼び出します。次に、getText の結果を整数として解析する必要があります。これは、Integer ラッパー クラスのparseInt()メソッドを使用して行うことができます。

次のようになります。

EditText editTextA = (EditText) findViewById(R.id.ethours);
int hours = Integer.parseInt(editTextA.getText().toString())
于 2012-07-12T19:56:56.387 に答える
0

最初のステップは、onClick リスナーに計算ボタンを割り当てることです。これを行ったら、onCreate 内で両方の editText を参照します。この後、 getText()関数 を使用して、編集テキストからテキストを取得できます。

コードの基本的なモックアップを次に示します。最初に入力が有効かどうかを確認してから乗算することをお勧めします

Button bcalculate = (Button)findViewById(R.id.bcalculate);
EditText hedittext   = (EditText)findViewById(R.id.ethours);
EditText etmade   = (EditText)findViewById(R.id.etmade);
EditText tmmade   = (EditText)findViewById(R.id.edittext3);

bcalculate.setOnClickListener(
    new View.OnClickListener()
    {
        public void onClick(View view)
        {
           try{ 
            double e1 = Double.parseDouble(hedittext.getText().toString());
            double e2 = Double.parseDouble(etmade.getText().toString());
            tmmade.setText(e1*e2);
            } catch (NumberFormatException e) {
        }

    });
于 2012-07-12T20:01:14.377 に答える