我最近开始使用Java Eclipse进行编程....
我正在制作一个bmi计算器,但我的活动遇到了一些麻烦。
我有设置活动和计算器活动,而我对设置活动的意图是,当你检查一个单选按钮时,它会改变计算器活动中的某些内容。
例如 - 当您在设置活动中按单位单选按钮时,计算器活动中的文本视图会发生变化.....
我很确定我可以通过两种方式解决这个问题 - 应用程序对象或试图通过意图传递id,但我不确定如何让它们中的任何一个工作,所以我需要你的帮助!
我想知道是否要求计算器已经打开并为ids通过而创建....
任何帮助都将受到高度赞赏!
答案 0 :(得分:0)
共享偏好
如果要永久存储设置,最好的方法是使用SharedPreferences
。请查看网站以获取如何使用它的示例。可以从同一应用程序的所有活动访问共享首选项。您甚至可以与其他应用程序共享它们。基本上,您将新值存储在首选项中,然后在其他活动的onResume()
中读取它们。共享首选项的缺点是,您只能存储基元和字符串(例如int,long,String,...)。
<强>意图强>
如果您想使用Intents将临时数据传递给其他活动,您可能需要调用其中一种Intent.putExtra()
。表现得像HashMap
的方法,即您提供键和值。然后,另一个活动可以使用其中一个getter方法从Intent中检索值。
申请对象
使用自己的Application
类实现并尽可能存储值。但通常大多数应用程序都不需要。您必须扩展Application
类,并在<application>
文件的AndroidManifest.xml
代码android:name
属性中指定其名称。
一种不太可靠的方法是简单地将值存储在活动的public static
字段中,并从其他活动访问它们。但是,您应该更喜欢其他方法之一。