gpt4 book ai didi

java - 传递的整数值总是重置回默认值

转载 作者:行者123 更新时间:2023-12-02 02:55:53 25 4
gpt4 key购买 nike

Bal 不断重置为 0。

Continue = (Button)findViewById(R.id.btnContinue);

Continue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent startIntent = new Intent(SecondActivity.this, Mainmenu.class);
int Bal = Integer.parseInt(Balance.getText().toString());
int MonthlyTarget = Integer.parseInt(Target.getText().toString());
startIntent.putExtra("intBalance", Bal);
startIntent.putExtra("intTarget", MonthlyTarget);
startActivity(startIntent);
}
});

另一 Activity :

Intent startIntent = getIntent();
int Bal = startIntent.getIntExtra("intBalance", 0);

int MonthlyTarget = startIntent.getIntExtra("intTarget", 0);
Intent RecordExpense = getIntent();
int Expense = RecordExpense.getIntExtra("intExpense", 0);
Intent RecordIncome = getIntent();
int Income = RecordIncome.getIntExtra("intIncome", 0);

TextView tvResult=(TextView) findViewById(R.id.tvResult);
tvResult.setText(Bal +"");
if(getIntent().hasExtra("intIncome")) {
Bal=Bal+Income;

tvResult.setText(Bal + "");
}
if(getIntent().hasExtra("intExpense")) {

Bal=Bal-Expense;
tvResult.setText(Bal + "");
}

每当我将 5 作为余额,将 3 作为费用时,我预计输出为 2。但实际输出是-3

最佳答案

您将 0 放入“intBalance”的 Intent 中,而不是放入值 Bal

Continue = (Button)findViewById(R.id.btnContinue);

Continue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent startIntent = new Intent(SecondActivity.this, Mainmenu.class);
int Bal = Integer.parseInt(Balance.getText().toString());
int MonthlyTarget = Integer.parseInt(Target.getText().toString());
// Change 0 to Bal
startIntent.putExtra("intBalance", Bal);
startIntent.putExtra("intTarget", MonthlyTarget);
startActivity(startIntent);
}
});

附注-尝试遵循命名约定,尽管它可能看起来无关紧要,但当变量名称看起来像类名称时,很容易错过简单的事情。

此外,不要创建不必要的变量,例如 startIntentRecordExpenseRecordExpensegetIntent() 已经让您可以访问 Intent ,您无需每次都获取对它的引用并将其存储在变量中。

关于java - 传递的整数值总是重置回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57075701/

25 4 0