Android:将int从一个活动传递到另一个活动时出错

Jas*_*sma 2 android

我读我的数据库中Activity A-取回String,int,String.我传递给它Activity B并希望在3个文本字段中显示它String值正确显示,但是int给了我这个错误

01-03 15:39:48.252: E/ERROR(980): android.content.res.Resources$NotFoundException: String resource ID #0x1f4
Run Code Online (Sandbox Code Playgroud)

我的代码

活动A.

Intent myintent2 = new Intent(MoneySummaryPage.this,EnterBankDetails.class);
myintent2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
myintent2.putExtra("bank", updateBank);
myintent2.putExtra("amount", updateAmt);
myintent2.putExtra("Currency", updateCur);
myintent2.putExtra("constant", "1");
startActivity(myintent2);
Run Code Online (Sandbox Code Playgroud)

活动B.

    BankName =      (EditText)findViewById(R.id.bankNameLabel);
    BalanceAmount = (EditText)findViewById(R.id.balanceLabel);
    currencySpin = (Spinner)findViewById(R.id.currencySpinner);

    constantpass = getIntent().getExtras().getString("constant");

    BankName.setText(getIntent().getExtras().getString("bank"));
    BalanceAmount.setText(getIntent().getIntExtra("amount", 0));
Run Code Online (Sandbox Code Playgroud)

BalanceAmountInteger领域,我在那里得到空白值.另外,我的第三个String是填充在Spinner中?有人能告诉我填充的代码吗?

谢谢!

And*_*lva 6

试试这个,

 BalanceAmount.setText(getIntent().getIntExtra("amount", 0)+"");
Run Code Online (Sandbox Code Playgroud)

问题是,当您尝试为setText()提供int值时,系统将查找具有该int id的资源文件.它可能无法理解int值和int res之间的区别(R.String.someValue在android中被视为int).

现在使用上面的代码,int现在转换为String,因此您不会有任何问题,当然您将两行代码减少为一行.