java中的接收参数问题

java中的接收参数问题,java,android,Java,Android,我是Android新手,正在尝试开发一个简单的Android应用程序。我试图将来自不同活动的两个值作为参数发送给第三个。问题是我使用这两个值的方法没有看到用户输入的值。提前谢谢。 该活动中的代码是: public class NewAcount extends Activity { private DecimalFormat twoDigits = new DecimalFormat("0.00"); TextView final_Amount; EditText pr

我是Android新手,正在尝试开发一个简单的Android应用程序。我试图将来自不同活动的两个值作为参数发送给第三个。问题是我使用这两个值的方法没有看到用户输入的值。提前谢谢。 该活动中的代码是:

public class NewAcount extends Activity {

    private DecimalFormat twoDigits = new DecimalFormat("0.00");
    TextView final_Amount;
    EditText price, amount_Entered;
    double userr_Entered_Amount, itemPricee, result;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.transparent);
        // amount of money the user wants to spend daily
        amount_Entered = (EditText) findViewById(R.id.et_Amount);
        // item price
        price = (EditText) findViewById(R.id.et_Price);

        final_Amount = (TextView) findViewById(R.id.tv_Account_Result);
        // set the text view value
        final_Amount.setText(twoDigits.format(getTotal()));

    }

    public double getItemPrice(double itemPrice) {
        this.itemPricee = itemPrice;
        System.out.println("the item price in the new account activity is "
                + itemPricee);

        return itemPricee;
    }

    public double getUserAmountEntered(double user_Entered_Amount) {

        this.userr_Entered_Amount = user_Entered_Amount;
        System.out.println("the user amount in the new account activity is "
                + userr_Entered_Amount);

        return userr_Entered_Amount;

    }

    public double getTotal() {
        // Here where the problem is. it's not seeing
        // userr_Entered_Amount and itemPricee
            // and returns result as zero

result=getUserAmountEntered(userr_Entered_Amount)-getItemPrice(itemPricee);

        System.out.println("the result is " + result);
        return result;
    }

}
FinanceAppActivity.java 我将发送输入的金额,具体操作如下:

    if (amount_Entered.getText().toString().length() > 0) {
        // start your expenses app activity
        Intent openYourExpensesActivity = new Intent(
                "android.intent.action.FINANCESQLLITE");
        startActivity(openYourExpensesActivity);
        double user_Entered_Amount=Double.parseDouble(amount_Entered.getText().toString());
        //send amount entered to new account activity           
        NewAcount na=new NewAcount();           
        na.getUserAmountEntered(user_Entered_Amount);
    }
YourExpenses.java 发送项目价格

    // to determine which button was clicked
    switch (v.getId()) {
    case R.id.btn_Add:
        boolean didItWork = true;
        try {
            String itemName = item.getText().toString();
            itemPrice = Double.parseDouble(price.getText().toString());         
            Price entry = new Price(YourExpenses.this);
            entry.open();
            // passing both strings to create entry method
            entry.creatEntry(itemName, itemPrice);  
            entry.close();
            NewAcount na=new NewAcount();
            //send item price to new account activity
            na.getItemPrice(itemPrice);
        } catch (Exception e) {
            //code here                 
        } finally {

            if (didItWork) {
                Dialog d = new Dialog(this);
                d.setTitle("Inserted successfully!");
                TextView tv = new TextView(this);
                tv.setText("Success");
                d.setContentView(tv);
                d.show();
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                Intent openNewAccount = new Intent("android.intent.action.TRANSPARENT");
                startActivity(openNewAccount);

            }
        }

你只是想打电话给公众吗?这是行不通的,因为“通常”一次只有一个活动具有前景。您可以将带有意图的值作为附加值传递,使用最极端的extend应用程序的SharedReference,并使用它来存储所有数据。

您希望填充哪些值?请具体一点,谢谢你的回答。这些值应由用户输入。当用户输入他/她想要花费的金额和物品价格时,我希望结果是(金额-物品价格)。但是,即使getItemPrice()和getUserAmountered()方法打印用户输入的实际金额,它也会将结果返回为零。我看不出您在此活动中调用这些方法的位置。您需要做的是在布局中创建一个提交
按钮
,并将
OnClickHandler
绑定到该按钮。当调用
OnClick
方法时,可以从文本字段中读取值。不能从一个活动调用另一个活动的方法。另外,请使用
Log
类not
System.out.println
:我不想使用按钮。这是一个透明的活动,它会告诉用户,您的新帐户是--。我的问题是,为什么在getItemPrice()和GetUserAmountered()中使用println时,它都在打印正确的值,但getTotal()无法看到这两个值?您的getter方法返回的正是您传递的值。你到底为什么这么做?