【发布时间】:2021-08-10 23:49:12
【问题描述】:
我做错了什么?
我正在尝试在单击按钮时进行简单的 Fragment 切换,但它在第 46 行一直返回错误,更具体地说是 "v" when(v .id){
错误: 未解决的参考:v
我的代码:
class MainActivity : AppCompatActivity(), View.OnClickListener {
private lateinit var buttonHome: Button
private lateinit var buttonConsoles: Button
private lateinit var buttonGames: Button
private lateinit var homeFragment: HomeFragment
private lateinit var gameFragment: GameFragment
private lateinit var consoleFragment: ConsoleFragment
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
buttonHome = findViewById(R.id.button_home)
buttonHome.setOnClickListener (this)
buttonConsoles = findViewById(R.id.button_consoles)
buttonConsoles.setOnClickListener(this)
buttonGames = findViewById(R.id.button_games)
buttonGames.setOnClickListener(this)
homeFragment = HomeFragment()
gameFragment = GameFragment()
consoleFragment = ConsoleFragment()
}
private fun setFragment(fragment: Fragment){
val fragmentTransaction = supportFragmentManager.beginTransaction()
fragmentTransaction.replace(R.id.frame_fragments, fragment)
fragmentTransaction.commit()
}
//ERROR HERE
override fun onClick(p0: View) {
when(v.id){
R.id.button_home -> {
setFragment(homeFragment)
}
R.id.button_games -> {
setFragment(gameFragment)
}
R.id.button_consoles -> {
setFragment(consoleFragment)
}
}
}
}
【问题讨论】:
标签: android kotlin android-fragments