我在启动活动功能中的问题在哪里



我是 Kotlin Developement 的新手。我正在尝试从main活动启动新活动,但它显示的唯一内容是 toast 消息后面的空白消息。但我真的不明白问题出在哪里。

这是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,该以白色显示文本,背景为紫色。

你能帮我吗?

您必须重写正确的onCreate方法,而无需将PersistableBundle作为第二个参数:

class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
}
}

您在LoginActivity中覆盖了错误的方法。它应该是:

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

您必须重写正确的onCreate方法。它应该是

class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
}
}

最新更新