EditTextからdouble値を取得し、別のIntentにそれらを渡す前に操作します。プリミティブデータ型を使用しないので、toStringメソッドを使用できます。Androidで文字列をdoubleに変換する
問題は、私がprotein = Double.valueOf(p).doubleValue()をインクルードするときです。私はそれらをコメントアウトし、protein = 1.0のようないくつかのダミーデータを設定します。問題なく動作します。 同じことがプリミティブなデータ型と解析doubleで起こります。このコードは、通常のJavaのダミーデータと完全に動作します。 私は何が間違っていますか?
EditText txtProt, txtCarb, txtFat, txtFiber, txtPoints;
String p, c, f, fi;
Double protein, carbs, fat, fiber;
double temp;
Integer points;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("Create Prompt", "ready for layout");
setContentView(R.layout.main);
Log.v("Layout Created", "ready for variable assignment");
txtProt = (EditText) findViewById(R.id.Protein);
txtCarb = (EditText) findViewById(R.id.Carbs);
txtFat = (EditText) findViewById(R.id.Fat);
txtFiber = (EditText) findViewById(R.id.Fiber);
txtPoints = (EditText) findViewById(R.id.Points);
btnCalc = (Button) findViewById(R.id.Calc);
Log.v("Variables Assigned", "ready for double assignment");
p = txtProt.getText().toString();
c = txtCarb.getText().toString();
f = txtFat.getText().toString();
fi = txtFiber.getText().toString();
protein=Double.valueOf(p).doubleValue();
carbs=Double.valueOf(c).doubleValue();
fat=Double.valueOf(f).doubleValue();
fiber=Double.valueOf(fi).doubleValue();
Log.v("Doubles parsed", "ready for calculations");
//these are the problem statements
protein = 1.0;
carbs = 1.0;
fat = 1.0;
fiber = 1.0;
protein *= 16;
carbs *= 19;
fat *= 45;
fiber *= 14;
temp = protein + carbs + fat - fiber;
temp = temp/175;
points = new Integer((int) temp);
- のgetText()のTextViewが表示されるテキストを返します。別のバッファタイプでsetTextを呼び出していない限り、http://developer.android.com/reference/android/widget/EditText.html#getText() – Idistic