2011-03-15 79 views
1

在我的應用程序中,我有兩個活動OpenAccount和BillAccount。在按鈕上單擊OpenAccount我們正在導航到BillAccount。從BillAccount acticity再次回到之前的活動OpenAccount。在這裏導航回來我想在OpenAccount中的一些變量值。 我試圖通過從另一頁獲取值

intent.putExtra("trnxnId", trnxnId) 

和OpenAccount

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

得到的值,但它自那時以來,OpenAccount的第一負載送禮者錯誤它沒有意圖這個變量的值。

請幫助我們如何在這種情況下獲得值?

+0

[BillAccount Activity-- intent.putExtra(「trnxnId」,trnxnId);]&[OpenAcount Activity - Intent.getExtras()。getString(「trnxnId」);],但在加載OpenAccount時,它找不到「trnxnId」的值,這裏給出錯誤。 – 2011-03-15 07:20:24

+0

可以ü發表您的完整代碼 – 2011-03-15 13:03:27

回答

0
getIntent().getStringExtra("trnxnId").equals(null) ? "" : getIntent().getStringExtra("trnxnId"); 

嘗試使用上面的方法,它處理沒有返回值時的情況。

+0

謝謝tushar,我試過使用這個,但活動OpenAccount本身來自一個意圖行動,在這裏第一個活動OpenAccount仍然getIntent它是投擲NullPointerExcepetion。 – 2011-03-15 07:51:54

1

你能做到這樣:

Bundle bundle=new Bundle(); 
bundle.putString("trnxnID",trnxnID); 
it.putExtras(bundle); 

而且你可以得到它:

it.getExtras().getString("trnxnID"); 
+0

感謝sunil,我試着用這個,但是活動OpenAccount本身來自一個Intent動作,在這裏第一個活動OpenAccount仍然在getIntent上,它拋出了NullPointerExcepetion。 – 2011-03-15 07:48:32

+0

PLZ接受,如果它回答你的問題 – 2011-03-15 07:50:03

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