TextView 第一次点击不触发
TextView don't fire first click
我有一个 TextView,它应该像按钮一样被点击。
代码如下:
<TextView
android:id="@+id/play"
style="@style/playButton"
android:layout_width="0dp"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:text="@string/homePlay"
android:focusable="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline4"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintTop_toTopOf="parent" />
现在当我点击它时,第一次不起作用,但随后的点击工作正常。
这是Java代码:
TextView play = mActivity.findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("------------CLICKED");
}
});
}
});
“------------CLICKED”仅在第二次单击时显示,而非第一次单击时显示。
提前致谢。
从您的 play.setOnClickListener
中删除嵌套的 setOnClickListener
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("------------CLICKED");
}
});
如下修改您的代码片段,并检查。
XML(移除焦点设置)
<TextView
android:id="@+id/play"
style="@style/playButton"
android:layout_width="0dp"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:text="@string/homePlay"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline4"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintTop_toTopOf="parent" />
JAVA 代码(移除了嵌套的 setOnClickListener)
TextView play = mActivity.findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("------------CLICKED");
}
});
我有一个 TextView,它应该像按钮一样被点击。
代码如下:
<TextView
android:id="@+id/play"
style="@style/playButton"
android:layout_width="0dp"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:text="@string/homePlay"
android:focusable="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline4"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintTop_toTopOf="parent" />
现在当我点击它时,第一次不起作用,但随后的点击工作正常。
这是Java代码:
TextView play = mActivity.findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("------------CLICKED");
}
});
}
});
“------------CLICKED”仅在第二次单击时显示,而非第一次单击时显示。
提前致谢。
从您的 play.setOnClickListener
setOnClickListener
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("------------CLICKED");
}
});
如下修改您的代码片段,并检查。
XML(移除焦点设置)
<TextView
android:id="@+id/play"
style="@style/playButton"
android:layout_width="0dp"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:text="@string/homePlay"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline4"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintTop_toTopOf="parent" />
JAVA 代码(移除了嵌套的 setOnClickListener)
TextView play = mActivity.findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("------------CLICKED");
}
});