Android 安卓:即使操作结束,按钮仍保持高亮显示

Android 安卓:即使操作结束,按钮仍保持高亮显示,android,Android,我正在编写一个Android应用程序,其中生成了一个PDF。点击一个按钮,PDF生成完成。但即使在PDF完全生成且方法返回后,按钮仍保持高亮显示(蓝色)状态。我甚至试着在生成PDF的方法的末尾提到“button.clearFocus()”,但没有成功。有人能帮忙吗?试试按钮。设置按下(假);如果您想自己更改按下的状态。而不是使用按钮。setSelected(true),setSelected(false),只需使用 Rather than using button.setSelected(tru

我正在编写一个Android应用程序,其中生成了一个PDF。点击一个按钮,PDF生成完成。但即使在PDF完全生成且方法返回后,按钮仍保持高亮显示(蓝色)状态。我甚至试着在生成PDF的方法的末尾提到“button.clearFocus()”,但没有成功。有人能帮忙吗?

试试按钮。设置按下(假);如果您想自己更改按下的状态。

而不是使用按钮。setSelected(true),setSelected(false),只需使用
Rather than using button.setSelected(true), setSelected(false), just use   

button.setPressed(true), setPressed(false).

otherwise use selector for button background.

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@color/button_focus" android:state_pressed="true"></item>
<item android:drawable="@color/button_non_focus" android:state_pressed="false"></item>

</selector>
按钮。设置按下(真),设置按下(假)。 否则,请使用选择器作为按钮背景。
U应该显示您的代码。显示代码,您是否在主线程上生成pdf?如果是这样的话,您的长时间运行的操作可能会导致UIGuess出现故障,那么生成PDF文件的过程还没有完成,因此它会阻塞UI线程,导致您的按钮保持为焦点状态。确保每个繁重的任务或网络任务都应该作为自己的进程而不是UI进程运行。发布一些与问题相关的代码。希望这有帮助。您的意思是长时间运行的任务应该在自己的线程上运行,而不是在进程上运行。这个过程与动物完全不同。