AZeroCN 2021-11-08 19:55 采纳率: 0%
浏览 36

为啥Android中的button只触发一次

如下

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只触发了一次,没整明白

  • 写回答

2条回答 默认 最新

  • 立青_ 2021-11-09 13:38
    关注

    你为什么要重新setContentView?界面已经变成你新实例化的布局了,你只在onCreate中设置了setOnClickListener,对于新布局并没有监听。但是我没搞懂,你为什么要重新setContentView?

    评论

报告相同问题?

问题事件

  • 创建了问题 11月8日

悬赏问题

  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开