从int类型的SharedPreferences获取值到String

时间:2017-07-13 13:00:39

标签: java android

我遇到了这个问题,我需要通过SharedPreferences保存用户选择的颜色,并且我使用此代码执行此操作:

 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
        final SharedPreferences.Editor editor = preferences.edit();

        imgBtnDarkBlue.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvColorScheme.setTextColor(getResources().getColor(R.color.colorPrimary));
                editor.putString("color", tvColorScheme.getTextColors().toString());
                editor.commit();
            }
        });

        imgBtnGreen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvColorScheme.setTextColor(getResources().getColor(R.color.green));
                editor.putInt("color", getResources().getColor(R.color.green));
                editor.commit();
            }
        });

        imgBtnBlue.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvColorScheme.setTextColor(getResources().getColor(R.color.blue));
                editor.putInt("color", getResources().getColor(R.color.blue));
                editor.commit();
            }
        });

在另一个Activity中检索它:

int colorScheme = preferences.getInt("color", 0);
        if (colorScheme == 0) {
            imgViewColorScheme.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
        } else {
            imgViewColorScheme.setBackgroundColor(colorScheme);
        }

现在我需要检查用户选择了哪种颜色并将其值放在String中。我怎么做?

1 个答案:

答案 0 :(得分:0)

首先在日志中打印

Log.d("somestring", ""+colorScheme );

然后尝试这种方式。

String.valueOf(colorScheme);