Ettore Zugliani
Ettore Zugliani

Reputation: 41

cant change key icon on softKeyboard

i am trying to learn android keyboard api.

Using the softKeyboard example, i am trying to change the key icon, i can change everything, but the icon never change.

i am doing it in the LatinKeyboardView, at the onLongPress method, using this line:

copia.icon = getResources().getDrawable(R.drawable.tecladir);

but the icon doesn't change.

Even after using

this.invalidateAllKeys();

to force redraw of the keys, the icon is still unchanged.

Complete code of onLongPress as following:

@Override
protected boolean onLongPress(Key key) {

    key.icon = getResources().getDrawable(R.drawable.tecladir);
    //tecladir is one image i have
    key.text = "batata";
    key.label = "batata";
    this.invalidateAllKeys();

    //default code of method
    if (key.codes[0] == Keyboard.KEYCODE_CANCEL) {
        getOnKeyboardActionListener().onKey(KEYCODE_OPTIONS, null);
        return true;
    } else {
        return super.onLongPress(key);
    }
}

Am i missing something?

Upvotes: 1

Views: 430

Answers (1)

Ettore Zugliani
Ettore Zugliani

Reputation: 41

Ok, found the solution.

before assign a new icon, the label must be null, otherwise the icon doesn't change, the correct way is:

key.label = null;
key.icon = getResources().getDrawable(R.drawable.tecladir);

Upvotes: 0

Related Questions