我目前正在構建一個應用程序,並且遇到持久性問題。 我有2個活動A和B.在A中定義信息'aa'和B信息'bb'('aa'通過intent提供給B)。當在B中並通過導航後退按鈕(在操作欄中)回到A時,我希望A有權訪問'bb'值,以便我可以根據它執行一些邏輯。對你來說,堅持這些數據在A中訪問它的最佳方式是什麼? 在此感謝您的時間和幫助。 乾杯, 本傑明建議在應用程序中導航時保持數據持久
0
A
回答
1
你可以嘗試使用onActivityResult。
在活動B:
@Override
public void onBackPressed() {
// super.onBackPressed();
Intent intent = new Intent();
//put something in intent
setResult(RESULT_OK, intent);
finish();
}
在活動答:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
//get extra...
}
}
}
0
當你從活動一開始活動B,使用startActivityForResult(Intent, int);
而非正常startActivity(Intent);
,並在活動覆蓋onActivityResult()
一個
例如。
public class ActivityA extends Activity{
private static final int MY_REQUEST_CODE = 123;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//Setup your activity and views...
//Assuming that you start ActivityB when a button is clicked.
btnExample.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(ActivityA.this, ActivityB.class);
//Setup your intent and put the data.
startActivityForResult(intent, MY_REQUEST_CODE);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent backIntent)
{
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK && requestCode == MY_REQUEST_CODE && backIntent != null){
//Handle your logic here.
}
}
}
和活動B,覆蓋onBackPressed
public class ActivityB extends Activity{
//Setup your activity
@Override
public void onBackPressed()
{
Intent backIntent = new Intent();
//Put the data to backIntent
setResult(RESULT_OK, backIntent);
super.onBackPressed();
}
//The rest of your code
}
+0
也謝謝你Malvin!這很好! – Ben 2014-10-08 09:43:28
相關問題
- 1. 如何在整個應用程序中保持數據持久性
- 2. 如何使應用程序在iOS/iPhone中保持持久性?
- 3. 微軟建議讓WPF應用程序持久化嗎?
- 4. 在整個Grails應用程序中持久保存URL參數
- 5. ios應用程序保存數據與nsuserdefaults持久?
- 6. 使用.replaceWith更改導航文本並保持其持久
- 7. 使用應用程序類在Android中存儲持久數據
- 8. 如何在Android應用程序中使用持久數據庫
- 9. 用戶退出應用程序時的數據持久性
- 10. 爲Python應用程序創建持久數據以訪問
- 11. ASP.Net在整個應用程序中持久化數據
- 12. iOS在後臺應用程序中的數據持久性
- 13. 在Win窗體應用程序中持久化表單數據
- 14. 在Opera TV Store應用程序中存儲Cookie /持久數據
- 15. 應用程序變爲背景時的非持久數據
- 16. 在Android應用程序中保留持久變量
- 17. ios swift - 如何在導航應用程序時保持視頻播放
- 18. 如何在Rails應用程序的測試數據庫中創建持久表?
- 19. Web應用程序中的持久數據
- 20. iPhone應用程序中的數據持久性
- 21. iOS-Swift應用程序中的數據持久性
- 22. Rails應用程序中的非持久性數據
- 23. 策略在黑莓應用程序的持久化數據
- 24. 持久數據/ C++中設置應用
- 25. 確保MongoDB中的數據持久性
- 26. 保持應用程序在iOS中
- 27. 將圖像持久保存在應用程序內 - iOS
- 28. 如何在整個android應用程序生命週期中保持持久數據?
- 29. C++中的數據持久性 - 建議更好的方法
- 30. 過度使用應用程序類來存儲持久數據
非常感謝Meneer :)!它工作完美。當用戶單擊導航欄中的後退按鈕以使所有內容保持一致時,只需添加類似的邏輯即可。 – Ben 2014-10-08 09:43:10