3

最初のアクティビティにはいくつかの EditTexts (10 進数) が含まれ、別のアクティビティにもいくつかの Edtitexts (10 進数) が含まれているという 2 つのアクティビティを含むアプリケーションを作成しました。文字列。その値は数学的計算で使用されるためです。その値を厳密に「double」にしたい。私は以下のように試しました:しかし、文字列を "double" にキャストする方法がわかりません。

activity1.java

    final Double d1;
        final Double d2;
        final Double d3;
        final Double d4;
        final Double d5;
        final Double d6;
        final Double d7;
        final Double d8;
        d1=Double.parseDouble(et1.getText().toString());
        d2=Double.parseDouble(et2.getText().toString());
        d3=Double.parseDouble(et3.getText().toString());
        d4=Double.parseDouble(et4.getText().toString());
        d5=Double.parseDouble(et5.getText().toString());
        d6=Double.parseDouble(et6.getText().toString());
        d7=Double.parseDouble(et7.getText().toString());
        d8=Double.parseDouble(et8.getText().toString());
.
.
.
.
Intent ic = new Intent(Calculator_1Activity.this,Calculator2a.class);
        ic.putExtra("doubleValue_e1", d1);
        ic.putExtra("doubleValue_e2", d2);
        ic.putExtra("doubleValue_e3", d3);
        ic.putExtra("doubleValue_e4", d4);
        ic.putExtra("doubleValue_e5", d5);
        ic.putExtra("doubleValue_e6", d6);
        ic.putExtra("doubleValue_e7", d7);
        ic.putExtra("doubleValue_e8", d8);

        startActivity(ic);

Activity2.java

Intent receiveIntent = this.getIntent();
        e1 = receiveIntent.getDoubleExtra("doubleValue_e1", 0.00);
        e2 = receiveIntent.getDoubleExtra("doubleValue_e2", 0.00);
        e3 = receiveIntent.getDoubleExtra("doubleValue_e3", 0.00);
        e4 = receiveIntent.getDoubleExtra("doubleValue_e4", 0.00);
        e5 = receiveIntent.getDoubleExtra("doubleValue_e5", 0.00);
        e6 = receiveIntent.getDoubleExtra("doubleValue_e6", 0.00);
        e7 = receiveIntent.getDoubleExtra("doubleValue_e7", 0.00);
        e8 = receiveIntent.getDoubleExtra("doubleValue_e8", 0.00);

        Calculator_1Activity cal1 = new Calculator_1Activity();
        et1.setText(cal1.et1.getText().toString());

私はこれを試しましたが、まだ動作していません.私のプロジェクトは予期せず停止します..

4

5 に答える 5

9

最初のアクティビティからダブル送信:

Intent sendingIntent = new Intent(this,SecondActivity.class);
intent.putExtra("doubleValue_e1", doubleData);
intent.putExtra("doubleValue_e2", doubleData);
intent.putExtra("doubleValue_e3", doubleData);
intent.putExtra("doubleValue_e4", doubleData);
startActivity(sendingIntent);

2 番目のアクティビティでダブルを受け取る :

double e1,e2,e3,e4;
Intent receiveIntent = this.getIntent();
e1 = intent.getDoubleExtra("doubleValue_e1", defaultValue)
e2 = intent.getDoubleExtra("doubleValue_e2", defaultValue)
e3 = intent.getDoubleExtra("doubleValue_e3", defaultValue)
e4 = intent.getDoubleExtra("doubleValue_e4", defaultValue)
于 2013-02-01T09:30:21.163 に答える
0

使用するDouble.parseDouble(my_string);

http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html#parseDouble%28java.lang.String%29を参照してください。

于 2013-02-01T09:22:20.477 に答える
0
  1. メソッドDATAを使用してdouble を文字列に変換します。Double.toString()
  2. インテントを介してこの文字列を送信します。

    intent.putExtra("DoubleWhichNowIsAString", DATA);
    
  3. 次のように受信機に戻します

    getIntent().getStringExtra("DoubleWhichNowIsAString")
    
  4. 関数を使用して文字列を double に解析しDouble.parseDouble()ます。

于 2018-09-27T19:41:50.380 に答える
0

Double.parseDouble(String s) は Bundle を使用して、あるアクティビティから別のアクティビティに情報を渡します。

于 2013-02-01T09:23:02.353 に答える
0

Double を String に解析し、バンドルに入れ、別のアクティビティで解析して文字列に戻します

于 2013-02-01T09:24:29.830 に答える