public static PreferenceScreen getInstance(
PreferenceActivity preferenceActivity,
IsExcludedCallback isExcludedCallback,
OnExcludedListener onExcludedListener,
@StringRes int preferenceTitleResId,
final @StringRes int preferenceScreenTitleResId
) {
List<AppPojo> appList = KissApplication.getApplication(preferenceActivity).getDataHandler().getApplications();
IconsHandler iconsHandler = KissApplication.getApplication(preferenceActivity).getIconsHandler();
AppPojo[] apps = appList.toArray(new AppPojo[0]);
Arrays.sort(apps, new PojoComparator());
final PreferenceScreen excludedAppsScreen = preferenceActivity.getPreferenceManager().createPreferenceScreen(preferenceActivity);
excludedAppsScreen.setTitle(preferenceTitleResId);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
excludedAppsScreen.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Toolbar toolbar = PreferenceScreenHelper.findToolbar(excludedAppsScreen);
if(toolbar != null) {
toolbar.setTitle(preferenceScreenTitleResId);
}
return false;
}
});
}
for (AppPojo app : apps) {
final ComponentName componentName = new ComponentName(app.packageName, app.activityName);
final Drawable icon = iconsHandler.getDrawableIconForPackage(componentName, app.userHandle);
final boolean showSummary = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
|| preferenceActivity.getResources().getConfiguration().screenWidthDp > 420;
SwitchPreference pref = createExcludeAppSwitch(preferenceActivity, icon, app.getName(),
app.getComponentName(), isExcludedCallback.isExcluded(app), app, showSummary, onExcludedListener);
excludedAppsScreen.addPreference(pref);
}
return excludedAppsScreen;
}
private static SwitchPreference createExcludeAppSwitch(
@NonNull Context context,
@NonNull Drawable icon,
String appName,
String mainActivityName,
boolean isExcluded,
final @NonNull AppPojo app,
boolean showSummary,
final OnExcludedListener onExcludedListener
) {
final SwitchPreference switchPreference = new SwitchPreference(context);
switchPreference.setIcon(icon);
switchPreference.setTitle(appName);
if (showSummary) {
switchPreference.setSummary(mainActivityName);
}
switchPreference.setChecked(isExcluded);
switchPreference.setOnPreferenceChangeListener(
new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean becameExcluded = newValue != null && (boolean) newValue;
if(becameExcluded) {
onExcludedListener.onExcluded(app);
} else {
onExcludedListener.onIncluded(app);
}
return true;
}
}
);
return switchPreference;
}
/**
* Use {@link #getInstance}
*/
private ExcludePreferenceScreen() {}
public interface IsExcludedCallback {
boolean isExcluded(final @NonNull AppPojo app);
}
public interface OnExcludedListener {
void onExcluded(final @NonNull AppPojo app);
void onIncluded(final @NonNull AppPojo app);
}
}
此代码是启动器的代码。此代码连接应用程序和开关,当开关打开时,连接到开关的应用程序对用户是不可见的。(作为参考,开关连接到所有应用程序。)我想改变这一点,以便在开关关闭时应用程序对用户是不可见的。帮助
提前谢谢你
@funky,你很有趣。y问题不清楚,如果你知道另一种提问方式来澄清,请展示你的专业知识并提供帮助,而不是发表评论。。。发表评论!如果你很无聊,那就去参加社交活动,玩得开心!
你是说你有两个应用程序A和B,SwitchPreferene按钮正在监听A,你想在点击按钮时启动应用程序B?
在此处输入图像描述 我想在我的项目中使用开闭面板,就像所附的照片一样。我连续使用多个面板,有时我想最小化面板。我如何使用它,你能在java中添加类似代码的git链接吗?或者你知道这种类型的按钮和面板的名称吗?
'导出默认函数 评级(道具){ 常量 [悬停,setHover] =使用状态(假); // 检查悬停状态常量 [com, setCom] = use 状态(假); //检查点击状态 }'我有五个评级按钮,我想在单击另一个按钮时取消单击已单击的按钮。通过点击我的意思是,当我点击其中一个按钮时,他们的样式主要改变为背景颜色,现在我希望当有人按下另一个评级时,我希望以前点击的按钮的样式恢复正常,新按下的
我目前正在从android站点上了解导航抽屉,我正在使用他们的示例http://developer.android.com/training/implementation-navigation/nav-drawer.html 我想要的是在中添加一个按钮,它将能够打开。我需要以编程方式完成,而不是XML。我怎么能那样做?
我想在单击按钮后更改背景
当用户在我的通知中单击一个按钮时,我正试图打开,而该应用程序仅在后台运行并提供服务。单击按钮时,这些行在类中被触发: 我已经检查过了,这些行被触发了,所以对按钮的点击做出反应没有问题,但是不会打开。 有什么建议吗?为什么这对我不起作用,我怎么能让它起作用? 我被要求提供更多的代码,因此在我的
问题内容: 我是Swing的新手。 我要在单击按钮(完成按钮)后更新表格。我认为数据正确,但屏幕无法正常工作。 以下是我程序的说明 选中复选框,然后单击完成按钮 最底层应更改。 没有主 这是我的代码: 问题答案: 而不是这样做… 只需更新现有模型 或简单地 假设您要继续向表中添加新行。如果您要这样做,还可以先清除表,然后再向其中添加新行。 Swing的工作原理是MVC(模型-视图- 控制器 ),该