在活动之间传递ID

时间:2013-07-03 11:32:32

标签: android-intent android-activity

我最近开始使用Java Eclipse进行编程....

我正在制作一个bmi计算器,但我的活动遇到了一些麻烦。

我有设置活动和计算器活动,而我对设置活动的意图是,当你检查一个单选按钮时,它会改变计算器活动中的某些内容。

例如 - 当您在设置活动中按单位单选按钮时,计算器活动中的文本视图会发生变化.....

我很确定我可以通过两种方式解决这个问题 - 应用程序对象或试图通过意图传递id,但我不确定如何让它们中的任何一个工作,所以我需要你的帮助!

我想知道是否要求计算器已经打开并为ids通过而创建....

任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

共享偏好

如果要永久存储设置,最好的方法是使用SharedPreferences。请查看网站以获取如何使用它的示例。可以从同一应用程序的所有活动访问共享首选项。您甚至可以与其他应用程序共享它们。基本上,您将新值存储在首选项中,然后在其他活动的onResume()中读取它们。共享首选项的缺点是,您只能存储基元和字符串(例如int,long,String,...)。

<强>意图

如果您想使用Intents将临时数据传递给其他活动,您可能需要调用其中一种Intent.putExtra()。表现得像HashMap的方法,即您提供键和值。然后,另一个活动可以使用其中一个getter方法从Intent中检索值。

申请对象

使用自己的Application类实现并尽可能存储值。但通常大多数应用程序都不需要。您必须扩展Application类,并在<application>文件的AndroidManifest.xml代码android:name属性中指定其名称。

一种不太可靠的方法是简单地将值存储在活动的public static字段中,并从其他活动访问它们。但是,您应该更喜欢其他方法之一。