DemoView クラスを拡張するクラスがあります (freechart ライブラリを使用していくつかのチャートを表示するため)。私の問題は、そのアクティビティでメニューだけを作成したいということです。そのクラスをアクティビティにキャストすることを考えていますが、論理的ですか? または、他の解決策はありますか?ご協力ありがとうございました。
質問する
1260 次
1 に答える
3
DemoView のソース コードの最初の基本的なチェックでは、Object. したがって、次のように説明したことを試してはいけません。
そのクラスを Activity にキャストする
メニューのサポートを追加したい場合は、次のアーキテクチャを試す必要があります。
- DemoView を拡張し、メニュー サポートを追加します (DemoViewWithMenu クラスなど)。
- クラスに DemoView だけでなく DemoViewWithMenu を拡張させる
しかし、単に View オブジェクト内から Activity オブジェクトにアクセスしようとすると、Activity も Context であるという事実を利用できます。ただし、すべてのコンテキストがアクティビティであるとは限らないため、以下は機能する可能性がありますが、例外も発生する可能性があります。
Activity a = (Activity)getContext(); //inside method of View class
以下も参照してください。
于 2012-11-25T15:10:18.637 に答える