2 回答
TA贡献1821条经验 获得超4个赞
setTextAppearance()您使用的这种形式已被弃用。将您的代码更改为以下内容:
if (Build.VERSION.SDK_INT < 23) {
dynakey[ID].setTextAppearance(this, R.style.LeftDisableDynakeyButton);
} else {
dynakey[ID].setTextAppearance(R.style.LeftDisableDynakeyButton);
}
由于setTextAppearance(styleId)引入了API 23 。
尝试一下。
编辑您的代码:
(1) 这一行:
private Button dynakey[]= new Button[9];
创建一个包含 9 个按钮的数组,而不是如注释所述的 8 个按钮。
(2) 您在try块内应用更改(我看不到catch块),因此不会传播任何错误。会不会是按钮的id不正确?
(3) 发布你的样式和 xml
TA贡献1909条经验 获得超7个赞
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_button_gray" android:state_enabled="false" />
<item android:drawable="@drawable/shape_button_colored" android:state_enabled="true" />
</selector>
现在将此选择器添加到按钮作为背景
<Button
android:id = "@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector_button"
android:textColor="@android:color/white" />
现在在代码中
if(sButtonString.trim().length() == 0) {
dynakey[ID].setEnabled(true)
} else {
dynakey[ID].setEnabled(false)
}
添加回答
举报