Activity クラスを拡張しないヘルパー クラスを設定しようとしています。でpackagemanagerオブジェクトを取得する必要がありますgetPackageManager()
。これどうやってするの?
なぜこれが必要なのですか?さて、私はこのヘルパー クラスをセットアップしようとしていますActivity
。ただし、ヘルパー オブジェクトが null だったので、常に nullpointerexceptions が発生しました。
任意のヒント?
Activity クラスを拡張しないヘルパー クラスを設定しようとしています。でpackagemanagerオブジェクトを取得する必要がありますgetPackageManager()
。これどうやってするの?
なぜこれが必要なのですか?さて、私はこのヘルパー クラスをセットアップしようとしていますActivity
。ただし、ヘルパー オブジェクトが null だったので、常に nullpointerexceptions が発生しました。
任意のヒント?
通常、やろうとしていることを行う最善の方法Context
は、新しいクラスのコンストラクターに を渡します。そうすれば、それを使用して、に属するメソッドを呼び出すことができますActivity
。
以下に例を示します。問題の解決に役立つはずです。
private Context context;
// ...
public HelperClass(Context c){
context = c;
}
// ...
context.getPackageManager();
新しいクラスを初期化するときに Context を追加するだけで呼び出すことができます。
new HelperClass(this);
Fragment などの特定の状況では、getActivity();
.
new HelperClass(getActivity());
上記のようにクラスを編集してみて、改善点があればお知らせください。
context = c.getApplicationContext();
コメントで述べたように、コンテキストを使用してビューなどを編集する予定がない限り、コンストラクターで使用する方がよいでしょう。