Change key icon keyboard: Drawable return int?

I'm trying to change a key icon on press in run time:

@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;
}

However, the last line says:

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

If I use instead: keys.get(ponto).icon = getResources().getDrawable(R.drawable.image); says that getDrawable(int) is deprecated. (It works, but when I press a key, change the icon of other key)

(I'm using API level 8)

Answers


I also had that problem. Try this:

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

You need to have the support lib in your project.


Need Your Help

What is the reason behind the `=>` in a self type?

scala self-type

A self type looks like the following example: