0

我有一个扩展 DemoView 类的类(使用 afreechart 库显示一些图表)。我的问题是我想在那个 Activity 中创建一个菜单,只是一个菜单。我正在考虑将该类转换为 Activity,这合乎逻辑吗?或者有没有其他解决方案?谢谢您的帮助。

4

1 回答 1

3

对 DemoView 源代码的第一次基本检查表明它继承自android.view.View,它只是扩展了 Object。所以你最好不要尝试你所描述的:

将该类转换为 Activity

如果你想添加菜单支持,也许你应该试试这个架构:

  • 扩展 DemoView 并添加菜单支持(如 DemoViewWithMenu 类)
  • 让你的类扩展 DemoViewWithMenu 而不仅仅是 DemoView

但是,如果您只是尝试从 View 对象中访问 Activity 对象,则可以利用 Activity 也是一个 Context 的事实。但是,并非所有上下文都是活动,因此以下可能有效,但也可能会给您带来例外:

Activity a = (Activity)getContext();  //inside method of View class

也可以看看:

于 2012-11-25T15:10:18.637 回答