下面列出了怎么用androidx.annotation.IntegerRes的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* 获取 Integer
* @param id resource identifier
* @return Integer
*/
public static int getInteger(@IntegerRes final int id) {
try {
return DevUtils.getContext().getResources().getInteger(id);
} catch (Exception e) {
LogPrintUtils.eTag(TAG, e, "getInteger");
}
return -1;
}
public int resolveIntRes(@IntegerRes int resId) {
if (resId != 0) {
Integer cached = mResourceCache.get(resId);
if (cached != null) {
return cached;
}
int result = mResources.getInteger(resId);
mResourceCache.put(resId, result);
return result;
}
return 0;
}
public int resolveIntAttr(@AttrRes int attrResId, @IntegerRes int defResId) {
TypedArray a = mTheme.obtainStyledAttributes(new int[] {attrResId});
try {
return a.getInt(0, resolveIntRes(defResId));
} finally {
a.recycle();
}
}
private MaterialDialog createAverageSeekDialog(@StringRes int prefKeyResID,
int minValue, int maxValue, @IntegerRes int defaultValueRes) {
final View dialogView = LayoutInflater.from(
getActivity()).inflate(R.layout.dialog_settings_progress, null);
final AppCompatSeekBar seekBar = dialogView.findViewById(R.id.seekbar);
int defaultValue = getContext().getResources().getInteger(defaultValueRes);
seekBar.setMax(maxValue);
seekBar.setProgress(Prefs.getInt(prefKeyResID, defaultValue));
return ThemeUtils.roundDialog(mContext, new MaterialDialog.Builder(mContext)
.customView(dialogView, true)
.positiveText(R.string.action_done)
.negativeText(R.string.action_cancel)
.onPositive((dialog, which) -> {
final int seekProgress = seekBar.getProgress();
Prefs.edit()
.putInt(prefKeyResID, seekProgress > minValue ? seekProgress : minValue)
.apply();
})
.neutralText(R.string.action_default)
.onNeutral((dialog, which) -> Prefs.edit().putInt(prefKeyResID, defaultValue).apply())
.build());
}
public static int getInt(@IntegerRes int resId, Resources resources) {
return resources.getInteger(resId);
}
@Override
Integer getPreferenceDefaultValue(@IntegerRes int defaultValueKey) {
Resources resources = context.getResources();
return resources.getInteger(defaultValueKey);
}
/**
* Returns an {@link Integer} given an {@link IntegerRes}
* @param res an {@link IntegerRes}
* @return an {@link Integer} associated with the given {@link IntegerRes}
*/
public static int getDefaultIntValue(@IntegerRes int res) {
return TwistyTimer.getAppContext().getResources().getInteger(res);
}