You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Settings页面点击事件无响应问题求助

问题:Settings Activity中点击TextView/Button无法触发Toast提示

核心原因

你在Settings Activity中重写了错误的onCreate方法重载:

override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?)

这个重载仅在启用持久化状态的Activity中才会被系统调用,而你的Activity并未配置该特性,导致设置点击事件的代码根本没有执行。正常Activity启动时调用的是仅带savedInstanceState参数的onCreate方法。

修正代码

将Settings Activity的onCreate方法替换为标准重载:

class Settings : AppCompatActivity(R.layout.settings) {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        weather_data_textview.setOnClickListener {
            Toast.makeText(this, "Shows weather data", Toast.LENGTH_SHORT).show()
        }

        remove_device_textview.setOnClickListener {
            Toast.makeText(this, "Shows remove device dialogue", Toast.LENGTH_SHORT).show()
        }

        pool_maintenance_tips_textview.setOnClickListener {
            Toast.makeText(this, "Shows pool maintenance tips", Toast.LENGTH_SHORT).show()
        }
    }
}

额外验证点

  • 你已经在XML中给TextView设置了android:clickable="true",这个配置没问题,保留即可
  • 父布局ConstraintLayout和LinearLayout都没有设置点击拦截属性,不会影响子View的点击事件触发
  • 如果后续改用Button组件,无需手动设置clickable,Button默认支持点击状态与事件响应

内容的提问来源于stack exchange,提问作者gpeck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:20:27