Как изменит background правильно?

133
08 июля 2019, 04:10

За ранее я извиняюсь, Я не силён на русском языке. Я создаю приложения. Ну приложения почти готово но у меня возникло такая проблема. В приложение в настройках есть функция изменения тему(стиль) интерфейса и в приложение есть много button который изменяет свои background. Ну вот когда я изменяю тему интерфейса несколько раз у меня возникает утечки памяти.

Что бы изменит я обновляю главный activity.

activiy.recreate();

Потом создал класс который унаследовал класс Button. Это для того чтобы изменить всех button; Вот код:

public class ButtonParm extends android.support.v7.widget.AppCompatButton {
public ButtonParm(Context context) {
    super(context);
    setup(context);
}
public ButtonParm(Context context, AttributeSet attrs) {
    super(context, attrs);
    setup(context);
}
public ButtonParm(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    setup(context);
}
private void setup(Context context) {
    SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(context);
    int parm= mPreferences.getInt("THEME", 1);
    switch (parm){
        case 1:
            setBackground(getResources().getDrawable(R.drawable.btn_theme_one));
            break;
        case 2:
            setBackground(getResources().getDrawable(R.drawable.btn_theme_two));
            break;
        case 3:
            setBackground(getResources().getDrawable(R.drawable.btn_theme_tree));
            break;
        case 4:
            setBackground(getResources().getDrawable(R.drawable.btn_theme_four));
            break;
        default:
            setBackground(getResources().getDrawable(R.drawable.btn_theme_one));
            break;
    }
}

}

ну вот я уже несколько дней не могу решить эту проблему. Коллеги прошу ваши помощи.

Answer 1

Здесь, по ссылке я как то давал развернутый ответ на этот вопрос. Возможно и вам пригодится.

READ ALSO
Менять фон layout'а в виджет программно

Менять фон layout'а в виджет программно

Всем приветВозникла такая проблема, нужно при нажатии кнопки в самом приложении менять фон layout'а в виджете

121
Activity не видит RemoteViews

Activity не видит RemoteViews

Всем приветУ меня проблема

147
Optional java пытаюсь получить объект

Optional java пытаюсь получить объект

есть метод который возвращает оптионал я указываю

161
Создание фильтра сервлета

Создание фильтра сервлета

Пытаюсь создать фильтр, но не выходитВ файле web структуры проекта maven значение filter-servlet выделяет красным, как ошибку

161