単純なメッセージポップアップを扱うクラスを作ったので、アプリケーション全体でコードを再利用できます。私は文脈の権利を得ることができないようである。これは、どこからでも呼び出され、多くの場合、UIを直接持たないクラスから呼び出されます。下の行を参照してください...どのようにCONTEXTを指定しますか
1
A
答えて
2
Contextをパラメータとして渡すことは可能ですか?
あなたはコンテキストなしで作業を行っているpublic void msghand(String message, Exception e, Context context) {
...
new AlertDialog.Builder(context)
...
?サービスにはUIはありませんが、まだコンテキストがあります。
編集:
あなたは静的にアクセス可能で、アプリケーションの起動時に作成した小さなメッセージサービスを作成することができます。たとえば:
class MyActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
// create the Message service that can be statically accessed
s_MessageService = new MessageService(getApplicationContext());
...
}
public static MessageService getApplicationMessageService()
{
return s_MessageService;
}
private static MessageService s_MessageService;
}
MessageServiceが実装されている場合は、適切
class MessageService
{
public MessageService(Context messageContext)
{
m_MyContext = messageContext;
}
public msghand(String message, Exception e)
{
// exactly the same as before, except using the stored context
}
Context m_MyContext = null;
}
あなたDBHelperクラスは、それ自体、 "アクティビティ" をする必要もありません
MyActivity.getApplicationMessageService().msghand(...);
0
コンテキストをmsgクラスのコンストラクタのパラメータとして追加し、それを使用しているアクティビティから継承します。
+0
を経由して、それを使うだろうか? public class xtz extends Activity()と同様ですか? –
関連する問題
- 1. URLにHTTPリクエストメソッドをどのように指定しますか?
- 2. OkHttp:どのようにネットワークインターフェイスを指定しますか?
- 3. golangでhttpリファラーをどのように指定しますか?
- 4. msiexec - 空のTARGETVDIRはどのように指定しますか?
- 5. Contextクラスはどのように使用できますか?
- 6. VueJS + Canvas-Contextはどのようにリンクできますか?
- 7. Androidアイコン、どのように指定しますか?
- 8. __block指定子はどのように機能しますか?
- 9. AWSラムダ関数のカスタム設定をどのように指定しますか?
- 10. OpenGraph:FB.apiでどのようにフィルタを指定できますか?
- 11. ハイブリッドマップをどのように指定できますか?
- 12. どのようにディレクトリにASP.NETをロードするファイルを指定しますか?
- 13. オブジェクトディレクトリのメイクファイルはどのように指定できますか?
- 14. あなたはどのようにdjangoで "context"タイプのオブジェクトを設定しますか?
- 15. どのようにイベントがトリガされるかを指定しますか?
- 16. 例外を指定するかどうかを指定します。
- 17. 使用するdjangoのバージョンをどのように指定しますか?
- 18. WTForms-Alchemyにはどのようにunique = Trueを指定しますか?
- 19. どのようにxStreamのインターフェイスの実現を指定しますか?
- 20. PHPでeval()のエラーのファイル名をどのように指定しますか?
- 21. psycopg2が使用しているポストグルクライアント/ライブラリのバージョンをどのように指定/指定できますか?
- 22. どのようにMavenのどのアンドロイドビルドツールのバージョンを指定できますか?
- 23. どのように入力フィールドのブートストラップでカスタムエラーメッセージを指定しますか
- 24. Schema.orgで「製品」の場所をどのように指定しますか?
- 25. Perlでどのようにパッケージのバージョンを指定しますか?
- 26. SWFCでActionscriptのバージョンをどのように指定しますか?
- 27. 環境固有のインベントリファイルをどのように指定しますか?
- 28. アプリケーションマニフェストでどのようにデフォルトの通知チャネルIDを指定しますか?
- 29. どのようにして乱数の範囲を指定できますか?
- 30. コロナでエンティティの周りをどのように指定しますか?
私はこれに最初に渡されたコンテキストを持っていましたが、私がこれを呼び出したい場所のいくつかは、DBHelperのようなクラスだけであり、UIを持っていません。 –
この問題を解決する方法を示すために私の答えを編集しました。あなたのアプリケーションに合った方法で実装することをお勧めします。これは単なる例です。おそらく、ここのAndroid Gurusが説明できるより良いパターンがあります。 – WorkerThread
WOWはすべての助けに感謝します。私はこれを読む前に正しい軌道に乗っていましたが、私がやっていたことを正確には確認できませんでした!ありがとう、これは素晴らしい作品です! –