更改键图标键盘:Drawable return int?

时间:2015-10-30 19:09:01

标签: android keyboard icons key drawable

我正在尝试在运行时更改按键图标:

@Override
public void onPress(int primaryCode) {
    Keyboard currentKeyboard = KbView.getKeyboard();
    List<Keyboard.Key> keys = currentKeyboard.getKeys();
    KbView.invalidateKey(primaryCode);
    keys.get(primaryCode).label = null;
    keys.get(primaryCode).icon = R.drawable.image;
}

然而,最后一行说:

Incompatible types. 
Required: android.graphics.drawable.Drawable 
Found: int

如果我改用:keys.get(ponto).icon = getResources().getDrawable(R.drawable.image); 说不推荐使用getDrawable(int)。 (它有效,但当我按一个键时,更改其他键的图标)

(我正在使用API​​级别8)

1 个答案:

答案 0 :(得分:0)

我也有这个问题。试试这个:

Keys.get(primaryCode).icon = ContextCompat.getDrawable(Context, R.drawable.image); 

您需要在项目中拥有支持库。