Функция Android onFocusChanged никогда не вызывалась

Я создал пользовательскую кнопку в расширении класса View , как указано в этом руководстве:

http: // kahdev.wordpress.com/2008/09/13/making-a-custom-android-button-using-a-custom-view/

Но у меня проблема с функцией onFocusChanged () который никогда не называется.

Это мой код:

public class CustomButton extends View
{
    ...
    public CustomButton(Context context, Car car) 
    {
        super(context);
        setFocusable(true);
        setBackgroundColor(Color.BLACK);
        setOnClickListener(listenerAdapter);
        setClickable(true);
    }

    @Override
    protected void onFocusChanged(boolean gainFocus, int direction,
                                  Rect previouslyFocusedRect)
    {
        if (gainFocus == true)
        {
            this.setBackgroundColor(Color.rgb(255, 165, 0));
        }
        else
        {
            this.setBackgroundColor(Color.BLACK);
        }
    }
    ...
}

На самом деле, когда я нажимаю на свою настраиваемую кнопку, ничего не происходит ... В отладчике я вижу, что функция никогда не вызывается. И я не знаю почему.

Итак, я забыл ступеньку? Есть еще одна вещь, которую я пропустил?

6
задан Kev 30 July 2011 в 21:40
поделиться