如何从视图访问对话框?

时间:2011-01-17 16:17:18

标签: android dialog

这个问题是关于我试图编码的概念。

我有一项活动 “公共类委员会扩展活动{” 其中有“setContentView(myBoard)”,其中myBoard是一个实例 “类NewBoard扩展了View实现OnTouchListener {” NewBoard使用onDraw绘制图形并绘制图形按钮。 单击名为“Solve”的按钮可以调用另一个类 “公共类SKO {”没有视觉元件并进行计算,其结果由图形视图重新绘制。

这一切都运作良好。

我现在想在NewBoard View上用更多图形绘制的按钮调用Dialog。

在“顶级”课程 - Board中,我有合适的代码 “protected Dialog onCreateDialog(int id){” 我知道这段代码很好,因为如果我向onCreate of Board添加一个showDialog(int),(一个带取消按钮的Alertdialog),然后运行类Board,对话框出现,取消后,我的图形工作正常下方。

我的问题是 * ** *

我无法从我的图形视图(NewBoard)中找到一种在Board中调用showDialog(int)的方法。

我尝试将“protected Dialog onCreateDialog(int id){”添加到我的图形视图(NewBoard)中,但我相信它只能添加到活动中。 我非常感谢你的一些建议。

1 个答案:

答案 0 :(得分:0)

我建议你定义一个像NewBoardListener这样的监听器接口(不是一个好名字,但对于一个例子来说已经足够了)。您的Board类可以将您的NewBoard视图注册为NewBoardListener。假设NewBoard视图中的按钮事件与“查看状态”有关,那么NewBoardListener接口可以定义一个名为onViewStatus()的方法。当用户点击NewBoard视图上的按钮时,您将回调newBoardListener.onViewStatus()。然后在实现NewBoardListener接口的Board类中,在onViewStatus方法中调用showDialog(int)。