第一个活动如何获取第二个活动的数据,但仅在返回第二个活动时

时间:2015-02-09 04:26:48

标签: java android android-activity

我是android和java宇宙中的新手,但我有一个项目,我已经构建了一个类似“Tip Calculator”的应用程序。

该项目的指南是:

  

编写一个包含两项活动的应用。

     

第一项活动

     
      
  1. 标签“膳食金额”,“税金”,“提示”,“总计”及相应的文字观点

  2.   
  3. 用户可以输入膳食金额

  4.   
  5. 计算税,小费和总额(注意:您可能需要设置某些属性才能使这些TextViews只读)

  6.   
  7. 有一个名为“计算”的按钮,按下时会产生第二个活动
  8.   
  9. 完成计算后,显示金额
  10.         

    第二次活动

         
        
    1. 标签“Tax Percentage”和相应的TextView,用户将在其中输入纳税百分比
    2.   
    3. 表示服务质量的按钮“差8%”,“平均10%”,“良好15%”和“杰出20%”
    4.   
    5. 当按下其中一个按钮时,应用程序需要计算所需的金额并将结果传递回第一个活动
    6.   

我的问题是当我开始第一个活动时,我需要做一个仅在从第二个活动返回时运行的功能,而在启动应用程序时不运行。但我做不到。

下面我粘贴了第一个和第二个活动的代码。

MainActivity.java

package com.example.viniciuscardoso.tipcalculator;

import android.app.AlertDialog;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity {

    public Button mCalculateButton;
    public double Tax = 7;
    public double Tip = 10;
    public TextView TextViewTax;
    public TextView TextViewTip;

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

        TextViewTax  = (TextView)findViewById(R.id.TextViewTax);
        TextViewTip  = (TextView)findViewById(R.id.TextViewTip);
        mCalculateButton = (Button)findViewById(R.id.calculate);

        TextViewTax.setText(String.valueOf(Tax));
        TextViewTip.setText(String.valueOf(Tip));

        final Intent intent = new Intent(this, ActivityTip.class);

        mCalculateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(intent);
            }
        });

    }
}

ActivityTip.java

package com.example.viniciuscardoso.tipcalculator;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class ActivityTip extends ActionBarActivity {

    Button mPoorButton;
    Button mAverageButton;
    Button mGoodButton;
    Button mOutstandingButton;
    EditText mTaxEdit;
    String tax;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity_tip);

        mPoorButton = (Button)findViewById(R.id.poor_button);
        mAverageButton = (Button)findViewById(R.id.average_button);
        mGoodButton = (Button)findViewById(R.id.good_button);
        mOutstandingButton = (Button)findViewById(R.id.outstanding_button);
        mTaxEdit = (EditText)findViewById(R.id.edit_tax);

        final Intent intent = new Intent(this, MainActivity.class);

        tax = mTaxEdit.getText().toString();

        mPoorButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                intent.putExtra("tax_percentage", tax);
                intent.putExtra("tip_percentage", 8.0);
                startActivity(intent);
            }
        });

        mAverageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                intent.putExtra("tax_percentage", tax);
                intent.putExtra("tip_percentage", 10.00);
                startActivity(intent);
            }
        });

        mGoodButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                intent.putExtra("tax_percentage", tax);
                intent.putExtra("tip_percentage", 15.00);
                startActivity(intent);
            }
        });

        mOutstandingButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                intent.putExtra("tax_percentage", tax);
                intent.putExtra("tip_percentage", 20.0);
                startActivity(intent);
            }
        });



    }


}

有人可以帮助解决这个问题。

如果你需要带有布局的.xml,请告诉我。

谢谢!

0 个答案:

没有答案