我有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