在我的应用程序中,我有两个活动OpenAccount和BillAccount。在按钮上单击OpenAccount,我们将导航到BillAccount。从BillAccount的活力再次开始,我们将回到之前的Activity OpenAccount。在这里导航回来时我想在OpenAccount中使用一些变量值。 我试过
intent.putExtra("trnxnId", trnxnId)
并获取OpenAccount中的值
intent.getExtras().getString("trnxnId");
但是它在第一次加载OpenAccount时会产生错误,因为那时它没有意图具有此变量的值。
请帮助我们如何在这种情况下获得价值?
答案 0 :(得分:1)
你可以这样做:
Bundle bundle=new Bundle();
bundle.putString("trnxnID",trnxnID);
it.putExtras(bundle);
你可以通过以下方式获得:
it.getExtras().getString("trnxnID");
答案 1 :(得分:0)
getIntent().getStringExtra("trnxnId").equals(null) ? "" : getIntent().getStringExtra("trnxnId");
尝试使用上面的内容,它处理没有返回值的情况。
答案 2 :(得分:0)
我认为你应该尝试使用startActivityForResult,如果你还没有这样做的话。
在OpenAccount活动中:
从OpenAccount开始BillAccount的地方:
int requestCode = 1;
Intent intent = new Intent(this, BillAccount.class);
startActivityForResult(intent, requestCode);
在OpenAccount中实现此方法:
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK) {
data.getStringExtra("trnxnId");
}
}
在BillAccount完成之前:
Intent intent = new Intent();
intent.putExtra("trnxnID", trnxnID);
setResult(RESULT_OK, intent);