Android Studio中Settings页面点击事件无响应问题求助
核心原因
你在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
相关产品推荐
相关产品推荐

