Android, как сохранить выбранный цвет из палитры цветов?

У меня есть палитра цветов с библиотеками. Теперь, когда я нажимаю на кнопку, открываются все цвета, которые можно использовать. И когда я нажимаю на цвет, я хочу, чтобы этот цвет был выбран на кнопке.. (как сохранить выбранный цвет на/в кнопке) ? Извините за мой плохой английский.... main_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Button" />

</LinearLayout>

Menu_java.java (основная активность)

import android.app.*;
import android.os.*;
import com.fourmob.colorpicker.ColorPickerDialog;
import com.fourmob.colorpicker.ColorPickerSwatch.OnColorSelectedListener;
import android.graphics.*;
import android.widget.*;
import android.view.*;
import android.support.v4.app.*;


public class Menu_java extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu_layout);

        final ColorPickerDialog colorPickerDialog = new ColorPickerDialog();
        colorPickerDialog.initialize(R.string.dialog_title, new int[] { Color.CYAN, Color.LTGRAY, Color.BLACK, Color.BLUE, Color.GREEN, Color.MAGENTA, Color.RED, Color.GRAY, Color.YELLOW }, Color.YELLOW, 3, 2);
        colorPickerDialog.setOnColorSelectedListener(new OnColorSelectedListener() {

                @Override
                public void onColorSelected(int color) {
                    Toast.makeText(Menu_java.this, "selectedColor : " + color, Toast.LENGTH_SHORT).show();
                }
            });

        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    colorPickerDialog.show(getSupportFragmentManager(), "colorpicker");
                }
            });
    }





        }

person Community    schedule 19.03.2015    source источник
comment
как int в общих настройках...   -  person Selvin    schedule 19.03.2015
comment
@Selvin, можешь привести пример?????   -  person    schedule 19.03.2015
comment
нет, у меня нет времени, в интернете полно примеров   -  person Selvin    schedule 19.03.2015


Ответы (1)


вы можете сохранить его в общих настройках следующим образом:

 private SharedPreferences sharedprefs = getSharedPreferences(yourapplicationnamehere), MODE_PRIVATE);
sharedprefs.edit().putInt("colorint" , color).apply();

и читать так:

int colorint = sharedprefs.getString("colorint" , 0);
person alltooconfusingthereforesleep    schedule 19.03.2015
comment
эй, я тоже хотел сделать то же самое, не могли бы вы подробнее рассказать о своем ответе. - person prat; 10.07.2016
comment
Где, кажется, проблема? Что вы сделали до сих пор? - person alltooconfusingthereforesleep; 11.07.2016
comment
У меня есть кнопка, по нажатию которой я заполняю палитру цветов с помощью библиотеки. Теперь я хочу заполнить выбранный цвет в представлении кнопки и календаря как календарь Google. Подробнее см. в моем вопросе:stackoverflow.com/questions/38260420/ - person prat; 11.07.2016
comment
Я знаю, что это возможно с помощью общих настроек, но, поскольку я новичок в Android, не знаю, как реализовать то же самое для моего случая. - person prat; 11.07.2016