Android. Программирование для профессионалов. 4-е издание


intent.getBooleanExtra(EXTRA_ANSWER_IS_TRUE



Download 21,53 Mb.
Pdf ko'rish
bet102/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   98   99   100   101   102   103   104   105   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

intent.getBooleanExtra(EXTRA_ANSWER_IS_TRUE,
false)
}
...
}
Обратите внимание: 
Activity.getIntent()
всегда
возвращает объект 
Intent
, который был передан в
startActivity(Intent)
.
Наконец, добавьте в 
CheatActivity
код, обеспечивающий
использование прочитанного значения в виджете 
TextView
ответа и кнопке 
SHOWANSWER
.
Листинг 6.12. Добавление функциональности подсматривания
ответов (CheatActivity.kt)
class CheatActivity : AppCompatActivity() {
private lateinit var answerTextView:
TextView
private lateinit var showAnswerButton:
Button
private var answerIsTrue = false


override fun onCreate(savedInstanceState:
Bundle?) {
...
 
 
 
 
 
 
 
 
answerIsTrue 
=
intent.getBooleanExtra(EXTRA_ANSWER_IS_TRUE,
false)
 
 
 
 
 
 
 
 
answerTextView 
=
findViewById(R.id.answer_text_view)
 
 
 
 
 
 
 
 
showAnswerButton 
=
findViewById(R.id.show_answer_button)
showAnswerButton.setOnClickListener {
val answerText = when {
answerIsTrue ->
R.string.true_button
else -> R.string.false_button
}
answerTextView.setText(answerText)
}
}
...
}
Код достаточно тривиален: мы задаем текст 
TextView
при
помощи 
функции 
TextView.setText(int)

Функция
TextView.setText(...)
существует в нескольких вариантах;
здесь используется вариант, получающий идентификатор
строкового ресурса.
Запустите приложение GeoQuiz. Нажмите кнопку 
CHEAT!
,
чтобы перейти к 
Cheat 
Activity
. Затем нажмите кнопку
SHOWANSWER
, чтобы открыть ответ на текущий вопрос.


Получение результата от дочерней activity
В текущей версии приложения пользователь может
беспрепятственно жульничать. Сейчас мы исправим этот
недостаток; для этого 
CheatActivity
будет сообщать
MainActivity
, подсмотрел ли пользователь ответ.
Чтобы получить информацию от дочерней activity, вызовите
функцию
Activity.startActivityForResult(Intent,Int)
.
Первый параметр содержит тот же интент, что и прежде. Во
втором параметре передается код запроса — определяемое
пользователем целое число, которое передается дочерней
activity, а затем принимается обратно родителем. Оно
используется тогда, когда activity запускает сразу несколько
типов дочерних activity и ей необходимо определить, кто из
потомков возвращает данные. 
MainActivity
запускает только
один тип дочерней activity, но передача константы в коде
запроса — полезная практика, с которой вы будете готовы к
возможным будущим изменениям.
В классе 
MainActivity
измените слушателя 
cheatButton
и 
включите 
в 
него 
вызов 
start- 
ActivityForResult(Intent,int)
.
Листинг 6.13. Вызов startActivityForResult(...) (MainActivity.kt)
private const val TAG = "MainActivity"
private const val KEY_INDEX = "index"

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   98   99   100   101   102   103   104   105   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish