String abColor = sharedPreferences.getString("action_bar_color", "#ffffff");
String sbColor = sharedPreferences.getString("status_bar_color", "#ffffff");
ActionBar ab = getSupportActionBar();
ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor(abColor)));
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor(sbColor));
我一直在获取java.lang.IllegalArgumentException:未知颜色错误指向变量sbColor
。尽管变量abColor
的使用方式与sbColor
相同,但它的工作原理完全正常。java.lang.IllegalArgumentException:未知颜色
请你帮我找出为什么Android Studio会抛出这个错误。
prefs = getSharedPreferences("AppPrefs", Context.MODE_PRIVATE);
String logged = prefs.getString("LOGGED", "OUT");
mRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings remoteConfigSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(true)
.build();
mRemoteConfig.setConfigSettings(remoteConfigSettings);
HashMap<String, Object> defaults = new HashMap<>();
defaults.put("action_bar_color", R.color.colorPrimary);
defaults.put("status_bar_color", R.color.colorPrimaryDark);
mRemoteConfig.setDefaults(defaults);
final Task<Void> fetch = mRemoteConfig.fetch(0);
fetch.addOnSuccessListener(this, new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
mRemoteConfig.activateFetched();
SharedPreferences.Editor editor = prefs.edit();
editor.putString("action_bar_color", mRemoteConfig.getString("action_bar_color"));
editor.putString("status_bar_color", mRemoteConfig.getString("status_bar_color"));
editor.apply();
打印sbColor的值,它可能不是你所期望的 – Les
什么是保存在首选项'status_bar_color'键? –
你正在把整数,并期望读取字符串 –