Activityを拡張しないクラスからActivityクラスによって提供される関数を呼び出すにはどうすればよいですか?理論的には、はい、アクティビティを拡張しないと、アクティビティによって提供される機能を直接使用することはできません。しかし、これに対する回避策はありますか?そうでない場合、これらの機能の代替または代替方法はありますか?
たとえば、クラスがActivityを拡張する場合、setContentView()
レイアウトxmlファイルをインスタンス化するために呼び出すことができます。しかし、私のクラスが他のクラスを拡張し、Activityを拡張しない場合は、LayoutInflaterを使用してタスクを実行できます。しかし、他の関数のようなものはregisterReceiver()
どうですか?他のクラスから''の機能を取得するにはどうすればよいですかregisterReceiver()
。もちろん、そのようなすべてのクラスでActivityを拡張する必要はありません。Activity.function_name
これらの関数は静的ではないため、「」による静的アクセスもできません。
特定のサービスにはどこからでもアクセスできます。たとえば、' println()
'またはLog.e()
、システム関数は、必要なときにいつでもどこからでも呼び出すことができます。他の重要な機能についても同様の方法はありますか?
結論:
コンテキストを宛先クラスに渡します。ただし、一部の関数にアクセスするには、渡されたコンテキストをアクティビティに型キャストする必要があります。
ChangdeoとBTの両方の答えは正しいです。
ありがとう。