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