我有一個擴展DemoView類的類(使用afreechart庫顯示一些圖表)。我的問題是我想在該活動中創建一個菜單,只是一個菜單。我正在考慮將該類投射到Activity,這是否合乎邏輯?或者還有其他解決方案嗎? 謝謝你的幫助。將非Activity類拋入Activity
回答
第一次基本檢查source code for DemoView顯示它繼承了android.view.View,它只是擴展了Object。所以,你應該更好地不嘗試你所描述的:
鑄造該類到活動
如果你想添加菜單的支持,也許你應該試試這個架構:
- 擴展DemoView並添加菜單支持(如DemoViewWithMenu類)
- 使您的類擴展DemoViewWithMenu而不僅僅是DemoView
但是,如果您只是嘗試從View對象中訪問Activity對象,則可以利用Activity也是Context的事實。然而,並非所有的上下文是活動的,所以以下可以工作,但也可能給你的例外:
Activity a = (Activity)getContext(); //inside method of View class
參見:
也許你也可以在Google中搜索[Android從View對象獲取活動](https://www.google.pl/search?q=Android+get+Activity+from+View+object)? –
'擴展DemoView並添加菜單支持(如DemoViewWithMenu類)':DemoViewWithMenu擴展了View,因此添加菜單是不可能的。 – androniennn
請不要回答? – androniennn
- 1. Android:在非Activity類中寫入文件
- 2. surfaceview,activity,startactivityforresult,activity in activity
- 3. 在非Activity類中覆蓋方法Android
- 4. 在非Activity類中使用窗口?
- 5. 在activity activity中實現gridview
- 6. 如何將Int從非活動類傳遞到Activity類
- 7. Java [android] Activity,extern類
- 8. java.lang.NoClassDefFoundError - 對於Activity類
- 9. 如何從另一個Activity類調用Activity類方法
- 10. java.lang.IllegalStateException:No activity
- 11. Activity ProgressDialog
- 12. IllegalStateException:No Activity
- 13. Android將數據傳遞給Activity類?
- 14. 將AsyncTask類放入Activity類中可以嗎?
- 15. 如何從其他Activity類訪問Activity的視圖
- 16. One activity call dialog and return to previous activity
- 17. 錯誤:Activity類{}不存在
- 18. 從Activity類啓動TabActivity
- 19. 嵌套的Activity類和AsyncTask
- 20. Android Activity類不存在
- 21. 無法從Activity或類
- 22. 將android listview傳遞到activity
- 23. 我該如何發送從非activity類的json響應到android中的activity類undefined
- 24. 可以匕首注入一個抽象的Activity類,而不注入子Activity類嗎?
- 25. 嘗試使用PowerMockito存根android Activity類拋出RuntimeException「Stub!」
- 26. Android DataBinding Activity finish()
- 27. Animate Same Activity
- 28. Rails ajax prepend activity
- 29. Android Activity singleton
- 30. Android Inline Activity
我從來沒有與afreechart工作庫,但如果它已經從繼承層次結構中擴展,則只能將其轉換爲Activity。 –
@GabrielNetto它擴展視圖。所以基本上不可能在該類中構建菜單? – androniennn