如何在其他findViewById
中使用Activity
?
现在我有一个名为View
的{{1}},其中包含一个DrawingView
。在另一个Canvas
我有一个SettingsActivity
,允许他们选择Button
。
我需要能够从我的单独设置活动中访问Color
中的DrawingView
。
当我致电activity_main.xml
时,它会返回findViewById()
,因为它正在搜索其他活动中的ID。
有没有简单的方法可以做到这一点?
答案 0 :(得分:4)
从另一个活动访问视图将成为一个问题,即使您可以安排进入主活动的布局层次结构,也不是正确的做事方式。
处理此问题的最佳方法是在包含DrawingView
的活动中实施PreferenceChangeListener
。然后它可以响应偏好值的变化并更改DrawingView
中的颜色。请参阅有关如何实现侦听器的文档。
这假设您将颜色选择保存在SharedPreferences
对象中,因此它将是持久的。 (如果您使用内置首选项框架,这是自动发生的,或者您可以自己编写选项。)如果您没有使用SharedPreferences
,那么@ cricket_007建议使用{{1可能是要走的路。