尝试使用共享首选项从AmbilWarnaDialog保存颜色,它没有得到颜色



我有一个ColorPicker对话框,该对话框已添加到build.gradle .
对话框AmbilWarnaDialog

我可以更改颜色,但是当我退出应用程序并再次打开颜色时,问题是colorPrimary它没有从SharedPreferences中获取颜色。我能够在SharedPreferences保存颜色,但它没有从那里获取颜色。

下面是我的代码。

MainActivity.class

SharedPreferences sharedpreferences = getSharedPreferences(Change_Color, Context.MODE_PRIVATE);
    int backcolorValue = sharedpreferences.getInt("back_color_code", 1);
    if (backcolorValue != 1) {
        Log.d("TAG", "onCreate: " + "e pera");
        changeHeader.setBackgroundColor(backcolorValue);
        getWindow().setStatusBarColor(backcolorValue);
    } else {
        changeHeader.setBackgroundColor(mDefaultColor);
    }

  public void openColorPicker() {
    AmbilWarnaDialog colorPicker = new AmbilWarnaDialog(this, mDefaultColor, new AmbilWarnaDialog.OnAmbilWarnaListener() {
        @Override
        public void onCancel(AmbilWarnaDialog dialog) {
        }
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        public void onOk(AmbilWarnaDialog dialog, int color) {
            changeHeader.setBackgroundColor(color);
            getWindow().setStatusBarColor(color);
            SharedPreferences sharedpreferences = getSharedPreferences(Change_Color, Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedpreferences.edit();
            editor.putInt("back_color_code", color);
            editor.apply();
            Log.d("TAG", "onOk: " + color);
        }
    });
    colorPicker.show();
}

activity_main.XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    style="@style/ActivityMain">
<RelativeLayout
        android:id="@+id/relLayoutTitle"
        style="@style/RelativeLayoutTitleSearch">
</RelativeLayout>
</RelativeLayout/

styles.xml

 <style name="RelativeLayoutTitleSearch">
        <item name="android:background">@color/blue_title</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">@dimen/title_height</item>
        <item name="android:adjustViewBounds">true</item>
    </style>

Dialog处的color返回一个类似于-112332的数字

我找到了问题所在。我已经两次声明了defaultColor,它采用了未修改的颜色。我刚刚删除了其中一个,它正在工作。

最新更新