У меня есть сервис в моем коде, которая предназначена для отображения другого вопроса о тизере мозга каждый раз, когда требуется сервис. Я могу получить вопрос, чтобы изменить мою службу, но когда у меня выключен сервис (чтобы перейти к другому сервису/деятельности), а затем вызовут его позже, она возвращается к первоначальному значению TextVeiw (то есть, каким бы ни был первый BrainteAser) вместо изменения своего текста. Я использую карту для хранения моих вопросов Brainteaser и их ответа, и я использую две глобальные переменные, которые обновляются каждый раз, когда служба готовится к доступу к ключам и последующим вопросам Brainteaser на моей карте (это для того, чтобы изменить Brainteaser и его ответ). Переменные обновляются нормально, но все же отображается текст и ответ, не изменяются. Я посмотрел на петли, обработчики, но я не могу найти ответ на то, что я ищу, и я не понимаю их. Извините, если это простой ответ, но я, честно говоря, понятия не имею, что делать, так как это мой первый проект кодирования. Ниже приведен код для моего сервиса. Дайте мне знать, если я что -то оставил или мне нужно дать больше информации/объяснить лучше! Заранее спасибо. < /P>
class BrainScreen : Service(){
private lateinit var brainFloatView: ViewGroup
private lateinit var brainfloatWindowLayoutParems: WindowManager.LayoutParams
private var LAYOUT_TYPE: Int? = null
private lateinit var windowManger: WindowManager
private lateinit var textInput: EditText
private lateinit var checkSMALLbutton: Button
private lateinit var textDisplay: TextView
private lateinit var Qanswer: String
var brainQ = 1
var brainA = brainQ*11
override fun onBind(intent: Intent?): IBinder? {
return null
}
override fun onCreate() {
super.onCreate()
val metrics = applicationContext.resources.displayMetrics
val width = metrics.widthPixels
val height = metrics.heightPixels
val brainteaserQS: Map = mapOf(
1 to "I have keys but no locks. I have space but no room. You can enter, but you can't go outside. What am I?",
11 to "Keyboard",
2 to "If you drop me, I’m sure to crack, but smile at me and I’ll smile back. What am I?",
22 to "Mirror",
3 to "What has hands and a face, but can’t hold anything or smile?",
33 to "Clock",
4 to "The more you take, the more you leave behind. What are they?",
44 to "Footsteps"
)
windowManger = getSystemService(WINDOW_SERVICE) as WindowManager
val inflater = baseContext.getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
brainFloatView = inflater.inflate(R.layout.activity_brain_screen, null) as ViewGroup
checkSMALLbutton = brainFloatView.findViewById(R.id.checkSMALLbutton)
textInput = brainFloatView.findViewById(R.id.answerInput)
//BELOW IS WHERE I SET MY TEXTVIEW VALUES (AND THE BRAINTEASER ANSWER)
textDisplay = brainFloatView.findViewById(R.id.brainteaser)
textDisplay.text = brainteaserQS[brainQ]
Qanswer = brainteaserQS[brainA].toString()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
LAYOUT_TYPE = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
} else LAYOUT_TYPE = WindowManager.LayoutParams.TYPE_TOAST
brainfloatWindowLayoutParems = WindowManager.LayoutParams(
(width * 0.9).toInt(),
(height * 0.46).toInt(),
LAYOUT_TYPE!!,
WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE,
PixelFormat.TRANSLUCENT
)
brainfloatWindowLayoutParems.gravity = Gravity.TOP
brainfloatWindowLayoutParems.x = 0
brainfloatWindowLayoutParems.y = 0
windowManger.addView(brainFloatView, brainfloatWindowLayoutParems)
checkSMALLbutton.setOnClickListener() {
stopSelf()
windowManger.removeView(brainFloatView)
if (Qanswer == textInput.text.toString()) {
//IF THE PERSON ANSWERS THE BRAINTEASER RIGHT THE TEXTVIEW SHOULD CHANGE AS THE SERVICE SHUTS DOWN SO WHEN THE SERVICE IS CALLED AGAIN THE BRAINTEASER WILL BE DIFFERENT
brainQ += 1
brainA = brainQ*11
textDisplay.text = brainteaserQS[brainQ]
Qanswer = brainteaserQS[brainA].toString()
startService(Intent(this@BrainScreen,CorrectScreen::class.java))
} else {
startService(Intent(this@BrainScreen,TryAgainScreen::class.java))
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... itial-text
TextView в Android Studio Service не обновляется/возвращается к своему первоначальному тексту, когда служба выключена и ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Java Service Wrapper во время запуска JAR Application FOM Service Service
Anonymous » » в форуме JAVA - 0 Ответы
- 50 Просмотры
-
Последнее сообщение Anonymous
-