从另一个页面获取值

时间:2011-03-15 07:18:46

标签: android android-activity android-intent

在我的应用程序中,我有两个活动OpenAccount和BillAccount。在按钮上单击OpenAccount,我们将导航到BillAccount。从BillAccount的活力再次开始,我们将回到之前的Activity OpenAccount。在这里导航回来时我想在OpenAccount中使用一些变量值。 我试过

intent.putExtra("trnxnId", trnxnId)

并获取OpenAccount中的值

intent.getExtras().getString("trnxnId");

但是它在第一次加载OpenAccount时会产生错误,因为那时它没有意图具有此变量的值。

请帮助我们如何在这种情况下获得价值?

3 个答案:

答案 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);