Реклама ломает программу

76
08 мая 2021, 03:10

Сначала когда запускаешь приложение все работает и тема и соответствие цветов все ок . Но когда вызываешь метод Update цвета и тема устанавливаются не правильно но только один раз. Все следующие вызовы метода Update в них все работает правильно.

Я заметил такую вещь если убрать

            mAdView = (AdView) findViewById(R.id.adView);
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);

 @Override
        protected void onResume() {
            super.onResume();
            mAdView.resume();
        }
        @Override
        protected void onPause() {
            super.onPause();
            mAdView.pause();
        }

        @Override
        protected void onDestroy() {
            super.onDestroy();
            mAdView.destroy();
        }

Так все работает

 public class Main3Activity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
            switch (currentNightMode) {
                case UI_MODE_NIGHT_NO:
                    // ночная тема не активна, используется светлая тема
                    setTheme(R.style.AppTheme);
                    break;
                case UI_MODE_NIGHT_YES:
                    // ночная тема активна, и она используется
                    setTheme(R.style.AppTheme_Dark);
                    break;
            }
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main3);
            if (currentNightMode == UI_MODE_NIGHT_YES) {
                // ночная тема  активна, используется светлая тема
                View someView = findViewById(R.id.view3);
                View root = someView.getRootView();                                                    //фон
                root.setBackgroundColor(getResources().getColor(android.R.color.background_dark));
                TextView resText = (TextView) findViewById(R.id.textView);                             //вывод
                resText.setTextColor(getResources().getColor(R.color.light));
                EditText F = (EditText) findViewById(search_Filter);
                F.setTextColor(getResources().getColor(R.color.light));
                F.setHintTextColor(getResources().getColor(R.color.light));
                TextView resText1 = (TextView) findViewById(R.id.textView1);                             //вывод
                resText1.setTextColor(getResources().getColor(R.color.light));
            }
            if (currentNightMode == UI_MODE_NIGHT_NO) {
                //  // ночная тема  не активна, и она используется
                View someView = findViewById(R.id.view3);                                               //фон (картинка)
                View root = someView.getRootView();
                root.setBackgroundResource(R.mipmap.nameless);
                TextView resText = (TextView) findViewById(R.id.textView);                             //вывод
                resText.setTextColor(getResources().getColor(R.color.dark));
                EditText F = (EditText) findViewById(search_Filter);
                F.setTextColor(getResources().getColor(R.color.dark));
                F.setHintTextColor(getResources().getColor(R.color.dark));
                TextView resText1 = (TextView) findViewById(R.id.textView1);                             //вывод
                resText1.setTextColor(getResources().getColor(R.color.dark));

            }

        }

        public void Update(View v) {

                finish();
                Intent intent3 = new Intent(this, Main3Activity.class);
                intent3.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
                startActivity(intent3);
                overridePendingTransition(R.anim.erasing,R.anim.erasing);

    }
    }

А так уже нет

public class Main3Activity extends AppCompatActivity {
    private AdView mAdView;

    @Override
    protected void onResume() {
        super.onResume();
        mAdView.resume();
    }
    @Override
    protected void onPause() {
        super.onPause();
        mAdView.pause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mAdView.destroy();
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
        switch (currentNightMode) {
            case UI_MODE_NIGHT_NO:
                // ночная тема не активна, используется светлая тема
                setTheme(R.style.AppTheme);
                break;
            case UI_MODE_NIGHT_YES:
                // ночная тема активна, и она используется
                setTheme(R.style.AppTheme_Dark);
                break;
        }
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        if (currentNightMode == UI_MODE_NIGHT_YES) {
            // ночная тема  активна, используется светлая тема
            View someView = findViewById(R.id.view3);
            View root = someView.getRootView();                                                    //фон
            root.setBackgroundColor(getResources().getColor(android.R.color.background_dark));
            TextView resText = (TextView) findViewById(R.id.textView);                             //вывод
            resText.setTextColor(getResources().getColor(R.color.light));
            EditText F = (EditText) findViewById(search_Filter);
            F.setTextColor(getResources().getColor(R.color.light));
            F.setHintTextColor(getResources().getColor(R.color.light));
            TextView resText1 = (TextView) findViewById(R.id.textView1);                             //вывод
            resText1.setTextColor(getResources().getColor(R.color.light));
        }
        if (currentNightMode == UI_MODE_NIGHT_NO) {
            //  // ночная тема  не активна, и она используется
            View someView = findViewById(R.id.view3);                                               //фон (картинка)
            View root = someView.getRootView();
            root.setBackgroundResource(R.mipmap.nameless);
            TextView resText = (TextView) findViewById(R.id.textView);                             //вывод
            resText.setTextColor(getResources().getColor(R.color.dark));
            EditText F = (EditText) findViewById(search_Filter);
            F.setTextColor(getResources().getColor(R.color.dark));
            F.setHintTextColor(getResources().getColor(R.color.dark));
            TextView resText1 = (TextView) findViewById(R.id.textView1);                             //вывод
            resText1.setTextColor(getResources().getColor(R.color.dark));

        }

        ////////////////////////////////////////////////////////////////////////////////

        mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
        /////////////////////////////////////////////////////////////////////////////
    }

    public void Update(View v) {

            finish();
            Intent intent3 = new Intent(this, Main3Activity.class);
            intent3.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            startActivity(intent3);
            overridePendingTransition(R.anim.erasing,R.anim.erasing);

}
}
READ ALSO
Как привязать лист к ключу HashMap?

Как привязать лист к ключу HashMap?

Как в HashMap при добавлении нового ключа создавать новый лист, который принадлежит только этому ключу, и как обращаться к нему?

93
Как сделать своё исключение для проверяемого ексепшна? Java

Как сделать своё исключение для проверяемого ексепшна? Java

У меня есть метод, который принимает и проверяет пин кодКогда, Я ввожу с клавиатуры значение, код просит его обработь IOException

100
Как лучше (красивее) отделить элементы в LinearLayout?

Как лучше (красивее) отделить элементы в LinearLayout?

Имеется интерфейс, который разделен на некоторые разделыВсе они помещены в LinearLayout

85
Intent и фрагмент activity

Intent и фрагмент activity

столкнулся с проблемой, что не знаю как через Intent заставить activity вызвать нужный фрагмент, (по дефолту открывается другой), буду благодарен...

109