オブジェクトを作成し(そのコンテキストを渡す)、他のクラスで静的メソッドを呼び出す appwidget があります。
静的メソッドを呼び出すと NullPointerException がスローされますが、その理由がわかりません。
コードは次のとおりです。
public String[] g(int count, Boolean h) {
String[] result = MyFactory.g(mContext, mDb, count, h);
if (result != null) {
m = result.length;
}
else {
m = 0;
}
return result;
}
例外は MyFactory.g でスローされます。g は静的関数です。
ここでnullになる可能性があるのは何ですか?
一部のユーザーには発生するようですが、私のデバイスには発生しません...イライラします。
ありがとう。
ところで:アプリでプロガードを使用していますが、プロガードが原因でスタックトレース全体(静的関数内)を取得できない可能性はありますか?
MyFactory クラス:
public class MyFactory {
public static String[] g(Context mContext, SQLiteDatabase db, int count, boolean hasShortcut) {
SharedPreferences prefs =
mContext.getSharedPreferences(A.SHARED_PREFS_NAME, 0);
int type = Integer.parseInt(prefs.getString(mContext.getString(R.string.pref_type_key), "0"));
switch (type) {
case 1:
return T1.g(db, count, hasShortcut);
}
return D1.g(db, count, hasShortcut);
}
}