Достижение темной темы из переключателя пунктов меню - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь изменить тему моего android приложения с помощью переключателя из меню действий, которое я определил следующим образом в меню. xml:

 <item
        android:id="@+id/darkThemeSwitch"
        android:title="@string/Darktheme"
        app:actionViewClass="android.widget.Switch"
        app:showAsAction="always" />

По какой-то причине, в моем кодовом блоке onOptionItemSelected ничего не происходит. хотя это код внутри:

override fun onOptionsItemSelected(item: MenuItem): Boolean {
        super.onOptionsItemSelected(item)


        when (item.itemId) {

            R.id.darkThemeSwitch -> {
                Toast.makeText(this, "huh", Toast.LENGTH_SHORT).show()
                val switchState = (item.actionView as Switch).isChecked
                if (switchState) {
                    setDark()
                    Toast.makeText(this, "Dark Theme set", Toast.LENGTH_SHORT).show()
                } else if (!switchState) {
                    setLight()
                    Toast.makeText(this, "Light Theme set", Toast.LENGTH_SHORT).show()
                }

            }


        }
        return true
    }

просто для справки, вот мое onCreateOptionsMenu:

override fun onCreateOptionsMenu(menu: Menu): Boolean {
        val inflater = menuInflater
        inflater.inflate(R.menu.menu, menu)

        return super.onCreateOptionsMenu(menu)
    }

Я уже давно борюсь с этой проблемой, и я ' Буду очень признателен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...