【发布时间】:2013-04-05 14:34:48
【问题描述】:
您好,感谢您的帮助,
我有以下情况。
在我的应用中,我使用 PreferenceActivity 来显示和允许更改设置,我们称之为 PreferenceActivity A。
如果用户选择一个特定的偏好,则启动一个新的 Activity,我们称它为 Activity B(A 不会被销毁)。
我需要做的是在Activity B中调用PreferenceActivity A表单的方法。
请注意:PreferenceActivity A 中的方法不能是静态的。
非常感谢任何帮助。
编辑编辑编辑编辑编辑编辑编辑编辑
这是 Activty B 的启动方式: 当用户点击 PreferenceActivity A 屏幕中的对应项目时,就会触发 Intent。
<PreferenceScreen
android:key="addstocks"
android:summary="Click here to add stocks"
android:title="Add stocks" >
<intent
android:targetClass="com.stocktickerwidget.QuotesActivity"
android:targetPackage="com.stocktickerwidget" />
【问题讨论】:
-
是否需要向方法传递参数,方法是否需要向调用者返回一些东西?调用此方法的目的是什么(即是否只是为了让用户在返回 Activity A 时看到不同的东西)?
-
@Karakuri 什么都不需要传递。 Activity A 会因为调用该方法而改变外观。
-
在这种情况下,我建议使用
startActivityForResult(),传回结果,然后更改onActivityResult()的外观。您可能会使用 Handler 和 Messenger,但我认为第一个更简单、更清晰。 -
@Karakuri 抱歉,我无法使用
startActivityForResult(),因为 Activity B 的启动方式与您在编辑后的代码中看到的方式相同。 -
是的,你可以。在该首选项上设置一个 OnPreferenceClickListener 并自己启动 ActivityB。
标签: android android-activity preferenceactivity