Как добавить два числа из двух действий и вывести в третье действие - PullRequest
0 голосов
/ 13 января 2019

Пытаясь выучить Котлин, я поставил перед собой задачу, которая, как мне казалось, будет легкой - для меня это не так!

Итак, я просто хочу ввести число в занятии 1, нажмите кнопку, чтобы перейти к занятию 2, где я ввожу другое число, и нажмите другую кнопку, которая переместит меня в занятие 3, которое отображает сумму чисел из заданий 1. и 2.

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

Спасибо за любую помощь.

Chris

Спасибо, вот что у меня пока есть - в основном, просто намерение заставить кнопку начать следующее действие. По своей наивности я подумал, что это будет случай из последней операции, ссылающийся на идентификаторы editText чисел, их суммирование и отображение суммы. Теперь я знаю, что мне нужно использовать put.extra, но я не знаю как. Все примеры, которые я могу найти, - это передача текста из одного действия в другое и его отображение, а не выполнение математической операции с ним.

ДЕЯТЕЛЬНОСТЬ 1

class Num1Activity : AppcompatActivity() {


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


        nextNumBtn.setOnClickListener {
            val secondNum = Intent(this, Num2Activity::class.java)
            intent.putExtra("num1", uno.text.toString())
            startActivity(secondNum)
        }
    }
}

ДЕЯТЕЛЬНОСТЬ 2

class Num2Activity : AppcompatActivity() {


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

        gotoAnsBtn.setOnClickListener {
            val answer = Intent(this, AnswerActivity::class.java)
            intent.putExtra("num2", dos.text.toString())
            startActivity(answer)
        }
    }
}

ЗАКЛЮЧИТЕЛЬНАЯ ДЕЯТЕЛЬНОСТЬ

class AnswerActivity : AppCompatActivity() {



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

    }
}

1 Ответ

0 голосов
/ 13 января 2019

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

например, введите число в намерении, используя что-то вроде этого:

intent.putExtra("num1", uno.text.toString().toInt())

тогда в следующем упражнении вам нужно извлечь число из намерения, используя getIntent() который в Kotlin переводится как intent

Итак, в вашем следующем занятии у вас будет что-то вроде этого:

примечание: намерение может быть нулевым, следовательно использование?

override fun onResume() {
    super.onResume()
    val startIntent = intent
    println(startIntent?.getIntExtra("number", 0))
}

Кстати, я бы поместил ваш код в методы onResume (), а не в методы onCreate ().

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