Android – интерфейс приложения не обновляется/не обновляетсяAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android – интерфейс приложения не обновляется/не обновляется

Сообщение Anonymous »

Я написал приложение с простой кнопкой, которая меняет цвет при нажатии (пример ниже).

Если на моем телефоне нажать кнопку питания, экран выключится.
Если нажать еще раз, экран снова включится, и я снова увижу свое приложение.

Я вызываю этот цикл.

Если эта процедура выполняется один раз (один цикл), я могу нажать кнопку в своем приложении, и оно будет менять цвет при каждом нажатии.

Однако, если я нажимаю кнопку питания дважды или более раз, интерфейс не обновляется. больше, и кнопка остается в том цвете, который она имела до нажатия кнопки питания.

Что сбивает с толку, так это то, что logcat по-прежнему отображает сообщения AADEBUG. Цвет просто не обновляется.

У меня нет опыта программирования приложений.

Нужно ли что-нибудь, например перефокусировать/обновить приложение?

/>Если я нажму кнопку «Обзор приложения» на панели навигации и выберу оттуда свое приложение, оно продолжит работать. Даже после нескольких циклов нажатия кнопки питания.

Мое настоящее приложение более сложное, но мне удалось воспроизвести проблему даже в этом простом примере. Чего мне не хватает?

package com.example.testapp

import android.os.Bundle
import android.util.Log
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

private var onetwo = 0

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val testButton: Button = findViewById(R.id.btnPlay)

testButton.setOnClickListener {
if (onetwo == 0){
Log.d("AADEBUG", "one")
testButton.backgroundTintList = getColorStateList(R.color.white)
onetwo = 1
} else {
Log.d("AADEBUG", "two")
testButton.backgroundTintList = getColorStateList(R.color.purple_200)
onetwo = 0
}
}
}

override fun onResume() {
super.onResume()
Log.d("AAActivityState", "onResume called")
}

override fun onPause() {
super.onPause()
Log.d("AAActivityState", "onPause called")
}

override fun onDestroy() {
super.onDestroy()
}
}



Подробнее здесь: https://stackoverflow.com/questions/790 ... refreshing
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»