«Остановка приложения» в эмуляторе после добавления setOnClickListener - PullRequest
0 голосов
/ 21 сентября 2018

Всякий раз, когда я добавляю setOnClickListener, мое приложение не работает в эмуляторе.

package com.example.user.ag

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.connecting_methodes.*
import kotlinx.android.synthetic.main.login.*

class ConnectingActivity : AppCompatActivity() {


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

        ag_login.setOnClickListener{showFragmentLogin()}//when commenting this the app work 
        //textView_st2.setOnClickListener{showFragmentRegister()}
    }

    fun showFragmentMethodes(){
        val transaction = supportFragmentManager.beginTransaction()
        transaction.replace(R.id.fragment_holder, ConnectingMethodes())
        transaction.addToBackStack(null)
        transaction.commit()
    }
    fun showFragmentLogin(){
        val transaction = supportFragmentManager.beginTransaction()
        transaction.replace(R.id.fragment_holder, Login())
        transaction.addToBackStack(null)
        transaction.commit()
    }
    fun showFragmentRegister(){
        val transaction = supportFragmentManager.beginTransaction()
        transaction.replace(R.id.fragment_holder, Register())
        transaction.addToBackStack(null)
        transaction.commit()
    }

}

1 Ответ

0 голосов
/ 21 сентября 2018

Представления, которые вы используете, не исходят из R.layout.activity_connecting, который вы используете в качестве основного макета:

import kotlinx.android.synthetic.main.connecting_methodes.*
import kotlinx.android.synthetic.main.login.*

Я бы предположил, что вы настроили его только с вызовом showFragmentMethodes().Но этот метод добавляет представление асинхронно.Таким образом, ag_login имеет значение NULL, и ваше приложение вылетает.

Возможно, вы захотите дождаться отображения ConnectingMethodes и затем подключить кнопки или обработать это соединение с самим фрагментом.

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