在不同的活动中使用findviewbyid

时间:2016-02-09 05:47:31

标签: android android-layout android-activity

如何在其他findViewById中使用Activity

现在我有一个名为View的{​​{1}},其中包含一个DrawingView。在另一个Canvas我有一个SettingsActivity,允许他们选择Button

我需要能够从我的单独设置活动中访问Color中的DrawingView

当我致电activity_main.xml时,它会返回findViewById(),因为它正在搜索其他活动中的ID。

有没有简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:4)

从另一个活动访问视图将成为一个问题,即使您可以安排进入主活动的布局层次结构,也不是正确的做事方式。

处理此问题的最佳方法是在包含DrawingView的活动中实施PreferenceChangeListener。然后它可以响应偏好值的变化并更改DrawingView中的颜色。请参阅有关如何实现侦听器的文档。

这假设您将颜色选择保存在SharedPreferences对象中,因此它将是持久的。 (如果您使用内置首选项框架,这是自动发生的,或者您可以自己编写选项。)如果您没有使用SharedPreferences,那么@ cricket_007建议使用{{1可能是要走的路。