приложение закрывается не переходя на второй экран - PullRequest
0 голосов
/ 07 марта 2019

Это основное занятие

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

        var userInput:EditText = findViewById(R.id.usr_input) as EditText
        var button:Button = findViewById(R.id.ent_btn) as Button

        button.setOnClickListener {
            var name = userInput.text

            val intent = Intent(this@MainActivity, screenTwo::class.java)
            intent.putExtra("name", name)

            startActivity(intent)
        }
    }
}

Это второе окно

class screenTwo : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_screen_two)


        var userName:TextView = findViewById(R.id.user_name) as TextView
        var editText:EditText = findViewById(R.id.usr_text) as EditText
        var outText:TextView = findViewById(R.id.output) as TextView
        var showButton:Button = findViewById(R.id.btn_show) as Button
        var back:Button = findViewById(R.id.btn_back) as Button

        var name = intent.getStringExtra("name")
        userName.text = name

        showButton.setOnClickListener {
            var text:String = editText.text.toString()
            outText.text = text
        }

        back.setOnClickListener {
            var goback = Intent(this@screenTwo, MainActivity::class.java)

            startActivity(goback)
        }
    }
}

Когда я нажимаю кнопку (имя_переменной) в основном действии, приложение закрывается.Это намерение или что-то не так во втором экране ???

Ответы [ 3 ]

0 голосов
/ 07 марта 2019

Наиболее распространенной ошибкой в ​​этой конфигурации является то, что вы забыли объявить ваше screenTwo в вашем AndroidManifest.xml внутри узла "application" (ваша MainActivity уже должна быть определена там) :

 <activity 
     android:name=".screenTwo"
     android:theme="yourTheme"/>

Если это не так, журнал ошибок может помочь нам помочь.

0 голосов
/ 08 марта 2019

Извините, это была небольшая ошибка с моей стороны .. Я не конвертировал переменную 'name' в 'String'

var name = userInput.text.toString()    //correction

Это работает сейчас, в любом случае, спасибо ...

0 голосов
/ 07 марта 2019

намерение не определено в SecondActivity

In SecondActivity : получить намерение по getIntent()

class screenTwo: AppCompatActivity () {

var name = getIntent (). getStringExtra ("name")

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