Я создал пользовательскую кнопку в расширении класса 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);
}
}
...
}
На самом деле, когда я нажимаю на свою настраиваемую кнопку, ничего не происходит ... В отладчике я вижу, что функция никогда не вызывается. И я не знаю почему.
Итак, я забыл ступеньку? Есть еще одна вещь, которую я пропустил?