1

私は、Application Contextオブジェクトをすばやく取得する方法として、Applicationを拡張することを試みてきました。私はそのようなクラスを持っています:

public class PageMonitorApplication extends Application
{
    @Override
    public Context getApplicationContext()
    {
        return super.getApplicationContext();
    }
}

そして私のマニフェストには以下が含まれます:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".PageMonitorApplication">

ただし、のインスタンスを作成しPageMonitorActivityて呼び出すgetApplicationContext()と、nullポインタ例外が発生します。Eclipseでデバッグし、のインスタンスを調べている間PageMonitorActivity、私はそれを見ることができますbase=null

誰かが何が悪いのかアドバイスできますか?

4

2 に答える 2

1

super.getApplicationContext()アプリケーションコンテキストであるため、null返されます。返品されるかどうかを確認する必要があります。返品される場合は、すでにお持ちのを使用してください。PageMonitorApplication getApplicationContextnullContext

への参照を取得するには、現在のまたは(またはあなたが持っているかもしれない他のもの)をPageMonitorApplication呼び出します。getApplicationContextActivityServiceContext

于 2011-11-06T13:52:03.853 に答える
0

アクティビティ内では、 getApplicationContext()を使用してApllicationContextオブジェクトに直接アクセスできます。Applicationクラスを使用して作成および実験する必要はありません。

于 2011-11-06T13:57:37.077 に答える