gpt4 book ai didi

java - setEnabled 在 Android 的某些设备上不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:54 26 4
gpt4 key购买 nike

我的屏幕上有一个按钮,当用户执行一些操作时,该按钮会动态启用或禁用。以下是更改按钮状态的代码:

    private void setContinueButtonStatus() {
boolean status = false;

// Every time user selects a ticket this is increased
for (TicketSpecification specification : ticketSpecificationList.specifications) {
if (specification.getMyCount() > 0) {
status = true;
break;
}
}

findViewById(R.id.btnContinue).setEnabled(status);
}

我的按钮 xml 是:

    <Button
android:id="@+id/btnContinue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:text="@string/continue_button"
android:layout_alignParentBottom="true"/>

我的问题是这段代码在 Moto G5S 中工作正常,在用户交互后启用或不启用按钮。

但在 Galaxy S9 和 Android 模拟器(我使用的是 Pixel XL)上,按钮保持禁用状态,即使在用户单击后也是如此。但是,如果我单击按钮,它就会启用并正常执行单击。

有人知道这是否是 Android 上的错误,还是我做错了什么?

最佳答案

我在这里发现了这个错误。

我正在使用外部库来管理我的应用程序上的一些内容,并且该库正在返回非主线程的线程上更新按钮所需的信息。

我通过将代码重定向到主线程解决了该问题。

关于java - setEnabled 在 Android 的某些设备上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60458077/

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