我有5個活動,比如活動A
,B
,C
,D
和E
。在android中通過intent傳遞數據
每個活動都有兩個buttons
是的&不,按鈕有我想要傳遞給活動E
的數據。
我需要做以下的事情:
- >當用戶按下是/否A_activity的按鈕,通過意圖傳遞給活動E中的用戶遷移到B_activity但數據。 同樣在活動B用戶按下是/否按鈕,用戶將移動到活動C,但數據傳遞到活動E等等。
我做了很多搜索,但找不到解決方案有沒有辦法做到這一點。
我有5個活動,比如活動A
,B
,C
,D
和E
。在android中通過intent傳遞數據
每個活動都有兩個buttons
是的&不,按鈕有我想要傳遞給活動E
的數據。
我需要做以下的事情:
- >當用戶按下是/否A_activity的按鈕,通過意圖傳遞給活動E中的用戶遷移到B_activity但數據。 同樣在活動B用戶按下是/否按鈕,用戶將移動到活動C,但數據傳遞到活動E等等。
我做了很多搜索,但找不到解決方案有沒有辦法做到這一點。
你的確可以通過一個意圖傳遞數據返回到一個活動的onActivityResult()
動鄂啓動活動A
final int RESULT_FOR_CLASS_DATA = 12; // pick a number to use
String returnedData;
Intent intent = new Intent(this, ActivityA.class);
startActivityForResult(intent, RESULT_FOR_CLASS_DATA);
實施例A(基於E開始)
Intent data = new Intent();
data.putExtra("ReturnData", dataToReturn);
setResult(RESULT_OK, data);
finish(); // returning to Activity E
在E的onActivityResult()中的示例
if (requestCode == RESULT_FOR_CLASS_DATA) {
returnedData = data.getStringExtra("ReturnData"));
}
雖然有很多方法可以完成移動數據,但這只是一個例子。
要推薦替代方法,請使用Handler而不是此方法。假設由於返回Activity處於暫停狀態,處理程序可能需要在單獨的類或全局靜態變量等中設置數據,並在Activity重新啓動時檢索或執行某些操作。所以它可以在任何類中做到很少或沒有代碼重複。只需檢索和使用。而Intent需要在每個類中重複代碼。它也很容易允許從任何活動轉到任何活動,如A-> B-> E-> C,而不需要E-> A-> E-> B。只是想一想。
使用SharedPreferences類來傳遞數據:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("key", "Value");
editor.commit();
然後在活動E:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
String value = sharedPref.getString("key", defaultValue);
希望這有助於。
您必須通過intent啓動/移動到所需的活動並通過'SharedPreferences'傳遞數據檢查:https://stackoverflow.com/questions/15466673/how-to-send-data-through-intent -in-android-without-opening-another-activity – Zakir
@zakir我是編程新手,首先我會學習如何使用SharedPreferences傳遞數據。我會學習它,如果有任何問題,我會讓你知道。但是有沒有其他方式可以通過打算來實現。 – AliShah
看起來像你傳遞一個活動意圖的時刻,它將開始 - 沒有是o避免它 - 或不知道它.. – Zakir