33

いくつかのアクティビティを持つ Android アプリケーションに取り組んでいます。その中に、いくつかの静的メソッドを持つクラスがあります。これらのメソッドをさまざまなアクティビティから呼び出せるようにしたいと考えています。静的メソッドを使用して、XmlResourceParser を介して xml ファイルからデータをロードしています。XmlResourceParser を作成するには、アプリケーション コンテキストでの呼び出しが必要です。私の質問は、アプリケーションコンテキストへの参照を静的メソッドに取得する最良の方法は何ですか? 各アクティビティにそれを取得して渡しますか? どういうわけかグローバル変数に保存しますか?

4

4 に答える 4

24

より良い方法は、Activity オブジェクトをパラメーターとして静的関数に渡すことです。

私の知る限り、静的メソッドでアプリケーションコンテキストを提供するようなメソッドはありません。

于 2010-05-07T04:24:04.237 に答える
3

これが常にうまくいくかどうかはわかりませんが、今はうまくいきます:

public class myActivity extends ListActivity
{
    public static Context baseContext;

    public void onCreate(Bundle savedInstanceState) 
    {
        baseContext = getBaseContext();
    }

次に、パッケージで static を使用できます。

myApplication.baseContext
于 2010-10-28T20:43:30.807 に答える
1

Sane Tricks For InsaneWorld ブログに回答のある投稿があります。Application オブジェクトを独自のサブクラスに置き換えて、そこにアプリ コンテキストを静的に保持できると書かれています。投稿でサンプルコードを見つけることができます。

元のブログ投稿 - http://uquery.blogspot.co.il/2011/08/how-to-get-application-context.html

于 2013-04-13T16:49:57.070 に答える