将非Activity类强制转换为Activity

时间:2012-11-25 14:30:11

标签: android menu android-activity jfreechart

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

1 个答案:

答案 0 :(得分:3)

source code for DemoView的第一次基本检查显示它继承自android.view.View,它只是扩展了Object。所以你最好尝试你所描述的:

  

将该类投射到Activity

如果您想添加菜单支持,也许您应该尝试这种架构:

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

但是如果您只是尝试从View对象中访问Activity对象,那么您可以确定Activity也是一个Context。但是并非所有上下文都是活动,因此以下内容可能有效,但也可能会例外:

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

另见:

相关问题