java中的接收参数问题
我是Android新手,正在尝试开发一个简单的Android应用程序。我试图将来自不同活动的两个值作为参数发送给第三个。问题是我使用这两个值的方法没有看到用户输入的值。提前谢谢。 该活动中的代码是:java中的接收参数问题,java,android,Java,Android,我是Android新手,正在尝试开发一个简单的Android应用程序。我试图将来自不同活动的两个值作为参数发送给第三个。问题是我使用这两个值的方法没有看到用户输入的值。提前谢谢。 该活动中的代码是: public class NewAcount extends Activity { private DecimalFormat twoDigits = new DecimalFormat("0.00"); TextView final_Amount; EditText pr
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
类notSystem.out.println
:我不想使用按钮。这是一个透明的活动,它会告诉用户,您的新帐户是--。我的问题是,为什么在getItemPrice()和GetUserAmountered()中使用println时,它都在打印正确的值,但getTotal()无法看到这两个值?您的getter方法返回的正是您传递的值。你到底为什么这么做?