2 回答

TA貢獻1821條經驗 獲得超5個贊
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)
}
添加回答
舉報