gpt4 book ai didi

android - OnClickListener 未在 ConstraintLayout 上触发

转载 作者:IT老高 更新时间:2023-10-28 13:47:42 25 4
gpt4 key购买 nike

在我的 android 应用程序项目中,我必须在背景上制作一个带有 ProgressBar 的按钮和两个 TextView。

我第一次尝试是这样的:

    <android.support.constraint.ConstraintLayout
android:id="@+id/keyboard_touch_1"
android:layout_width="60dp"
android:layout_height="85dp"
android:layout_marginBottom="150dp"
android:layout_marginStart="10dp"
android:focusable="true"
android:clickable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent">

<ProgressBar
android:id="@+id/keyboard_touch_1_progress_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:indeterminate="false"
android:max="100"
android:progress="50"
android:progressDrawable="@drawable/button_progress_bar_default"
android:clickable="false"
android:focusable="false" />

<TextView
android:id="@+id/keyboard_touch_1_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:text="2"
android:textColor="@color/colorAccent"
android:textSize="11dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="3"
android:clickable="false"
android:focusable="false" />

<TextView
android:id="@+id/keyboard_touch_1_letter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginTop="13dp"
android:text="A"
android:textColor="@color/colorAccent"
android:textSize="45dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:clickable="false"
android:focusable="false" />

</android.support.constraint.ConstraintLayout>

看起来不错,但是当我尝试添加 OnClickListener 时,它无法正常工作。

keyboard_touch_1.setOnClickListener {
Toast.makeText(this, "IT WORKS !!!", Toast.LENGTH_SHORT).show()
}

OnClickListener 没有被触发,我不知道为什么。这可能很简单,但我不明白为什么。

提前致谢。

最佳答案

删除

android:clickable="false"

From Docs

Defines whether this view reacts to click events

并将 keyboard_touch_1.setOnClickListener {...} 移动到 onResume 的末尾,因为 DataBindingUtil.setContentView将重置先前设置的布局 (setContentView),因此您将拥有一个带有新 View 的新布局。

注意:您正在使用数据绑定(bind)以及正常初始化 setContentView(R.layout.activity_game) 技术,因此最佳方法是使用

Event Handling via data binding

关于android - OnClickListener 未在 ConstraintLayout 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48731670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com