Где моя проблема в функции начала деятельности - PullRequest
0 голосов
/ 14 октября 2019

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

Вот MainActivity:

class MainActivity : AppCompatActivity() {

    private fun replaceFragment(fragment: Fragment){
        val fragmentTransaction = supportFragmentManager.beginTransaction()
        fragmentTransaction.replace(R.id.fragment_container, fragment)
        fragmentTransaction.commit()
    }

    private val onNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener {
        item -> when (item.itemId) {
            R.id.nav_home -> {
                //replaceFragment(HomeFragment())
                return@OnNavigationItemSelectedListener true
            }
            R.id.nav_search -> {
                replaceFragment(SearchFragment())
                return@OnNavigationItemSelectedListener true
            }
            R.id.nav_person -> {
                replaceFragment(ProfileFragment())
                return@OnNavigationItemSelectedListener true
            }
            R.id.nav_favorites -> {
                replaceFragment(FavoritesFragment())
                return@OnNavigationItemSelectedListener true
            }

        }
        false
    }

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

        val navView: BottomNavigationView = findViewById(R.id.bottom_navigation)
        navView.setOnNavigationItemSelectedListener(onNavigationItemSelectedListener)
        navView.setSelectedItemId(R.id.nav_home)

        if (!imgurClient.isConnected) {
            Toast.makeText(applicationContext,"You are not connected.",Toast.LENGTH_SHORT).show()
            val intentToWebView = Intent(this, LoginActivity::class.java)
            startActivity(intentToWebView)
        }

    }
}

Вот LoginActivity:

eclass LoginActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        setContentView(R.layout.activity_login)
    }
}

Activity_login.xmlсодержит textview, который отображает текст белым цветом, а фон - фиолетовым.

Можете ли вы мне помочь, пожалуйста?

Ответы [ 3 ]

1 голос
/ 15 октября 2019

Вы должны переопределить правильный метод onCreate. Это должно быть

class LoginActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)
 }
}
0 голосов
/ 15 октября 2019

Вы должны переопределить правильный onCreate метод без PersistableBundle в качестве второго аргумента:

class LoginActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)
    }
}
0 голосов
/ 15 октября 2019

Вы переопределили неправильный метод в LoginActivity. Должно быть:

class LoginActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState, persistentState)
        setContentView(R.layout.activity_login)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...