如下
class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val binding = ActivityMainBinding.inflate(layoutInflater)
binding.button.setOnClickListener(this)
setContentView(binding.root)
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.button -> {
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.imageView.setImageResource(R.drawable.img_2)
binding.progressBar.progress = binding.progressBar.progress + 10
binding.button.isClickable
Log.e("1","1")
}
}
}
}
log里面发现button只触发了一次,没整明白
你为什么要重新setContentView?界面已经变成你新实例化的布局了,你只在onCreate中设置了setOnClickListener,对于新布局并没有监听。但是我没搞懂,你为什么要重新setContentView?
class MainActivity : AppCompatActivity(), View.OnClickListener {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
binding.button.setOnClickListener(this)
setContentView(binding.root)
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.button -> {
binding.imageView.setImageResource(R.drawable.img_2)
binding.progressBar.progress = binding.progressBar.progress + 10
binding.button.isClickable
Log.e("1","1")
}
}
}
}