将双数回到之前的活动

时间:2012-01-15 13:10:36

标签: android double

这就是我想对我的应用程序做的事情: 打开概览屏幕,按按钮进入计算器。 比两个数字相乘。 通过单击计算,意图将完成。 乘法的结果将显示在第一(主要)活动中。

我不知道怎么做最后一点,有人知道吗?

代码第一(主要)活动,OverviewpageActivity.java

 package com.tip.calc;

 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.TextView;


 public class OverviewpageActivity extends Activity {
private TextView multiplydisplay2;
private Button btntocalculator;
private double multiply     = 0;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.overview);

    multiplydisplay2    = (TextView)findViewById(R.id.multiplydisplay2);
    btntocalculator = (Button)findViewById(R.id.btntocalculator);

    btntocalculator.setOnClickListener(new Button.OnClickListener() { 
        public void onClick (View v)    { 
            Intent intent = new Intent(OverviewpageActivity.this, 
   TipcalcActivity.class);
            startActivity(intent);
            }
        });
    }
  }

Code calculator acticvity,TipcalcActivity.java:

 package com.tip.calc;

 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;


 public class TipcalcActivity extends Activity  {
private EditText number1;
private EditText number2;
private TextView multiplydisplay;
private Button btncalculate;
private Button btnreset;
private double number1calc = 0;
private double number2calc = 0;
private double multiply     = 0;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    initControls();
}

private void initControls() {
    number1 = (EditText)findViewById(R.id.number1);
    number2 = (EditText)findViewById(R.id.number2);
    multiplydisplay = (TextView)findViewById(R.id.multiplydisplay);
    btncalculate = (Button)findViewById(R.id.btncalculate);
    btnreset = (Button)findViewById(R.id.btnreset);
    btncalculate.setOnClickListener(new Button.OnClickListener() { public void
 onClick (View v){ calculate(); }});
    btnreset.setOnClickListener(new Button.OnClickListener() { public void 
 onClick (View v){ reset(); }});
}

private void calculate()    {
    // check if zero
    if(number1.getText().toString().trim().length() < 1 ){number1calc=0;}
    else{number1calc=Double.parseDouble(number1.getText().toString());}

    if(number2.getText().toString().trim().length() < 1 ){number2calc=0;}
    else{number2calc=Double.parseDouble(number2.getText().toString());}

//calculate
    multiply=(number1calc*number2calc);
    multiplydisplay.setText(Double.toString(multiply));
    finish();
}

private void reset()    {
    multiplydisplay.setText("");
    number1.setText("");
    number2.setText("");
    finish();
}
 }

布局文件,overview.xml:      

 <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >



<!-- multiply -->   
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="20dp"  >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="multiply:" />
    <TextView
        android:id="@+id/multiplydisplay2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:layout_marginLeft="20dp" />
</LinearLayout>

<Button
    android:id="@+id/btntocalculator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="To the calculator" />

 </LinearLayout>

1 个答案:

答案 0 :(得分:2)

在OverviewpageActivity.java中使用startActivityforResult代替startActivity,并在OverviewpageActivity.java中覆盖OnactivityResult。

然后在第二个活动中,您可以使用setResult设置结果。在setresult中传递具有double值的意图。 在OnactivityResult中,您可以获得提取双重

的意图