私のアプリケーションでは、v4 サポート ライブラリを使用してユーザー設定ViewPager
をタブで表示しています。今までは、Fragment
何をするかを再現するカスタムを使用してPreferenceFragment
いました。
たとえば、ここにいくつかの提案があります。
すべての Android SDK を最新バージョンに更新した後、これらのカスタムFragments
は機能しなくなりました。特に、リフレクションによってこのメソッドの呼び出しに失敗したようです。
static PreferenceScreen inflateFromResource(PreferenceManager manager,
Activity activity, int resId, PreferenceScreen screen) {
try {
Method m = PreferenceManager.class.getDeclaredMethod("inflateFromResource", Context.class, int.class, PreferenceScreen.class);
m.setAccessible(true);
PreferenceScreen prefScreen = (PreferenceScreen) m.invoke(manager, activity, resId, screen);
return prefScreen;
} catch (Exception e) {
Log.w(TAG, "Couldn't call PreferenceManager.inflateFromResource by reflection", e);
}
return null;
}
API でのメソッドの公開を誰も変更できないためPreferenceScreen
、XML ファイルから開始することは可能ですか?