Как изменить изображение CustomButtonField на событие клика? - PullRequest
0 голосов
/ 29 июня 2011

Я уже писал этот вопрос , но ответ не подходит.Предоставленное решение просто меняет изображение, когда пользовательская кнопка имеет фокус и расфокусировку.Предположим, что в моем приложении мне нужно изменить изображение, если пользователь нажимает на кнопку customButton, а nim делает это, вызывая тот же экран (например, UiApplication.getUiApplication (). PushScreen (new Screen2 (b)); ),Screen2 - это экран с пользовательской кнопкой.При нажатии на кнопку я нажимаю на тот же экран, передавая переменную aint pic_status , которая определяет, какое изображение будет отображаться в CustomButton на новом экране.Есть ли способ обновить изображение в CustomButtonField по событию щелчка, не нажимая один и тот же экран снова и снова.

 //code in Screen2

public void fieldChanged(Field field, int context) 
 {
    if(field == bf1)
     {

         if(pic_status == 0)
         {
             pic_status=1;


         }
       UiApplication.getUiApplication().pushScreen(new Screen2(pic_status));    


  }



 //code in CustomButtonField

CustomButtonField(String label,int pic_status,long style) 
{    
    super(style);
    this.label = label;
    this.labelHeight = getFont().getHeight();
    this.labelWidth = getFont().getAdvance(label);
    this.notice = s;
    if(pic_status ==0)
    {
    currentPicture1 = onPicture;
    currentPicture2 = onPicture;
    }
    if(pic_status ==1)
    {
    currentPicture1 = clickPicture;
    currentPicture2 = onPicture;
    }
    if( pic_status==2 )
    {
        currentPicture1 = onPicture;
        currentPicture2 = clickPicture;
    }
}

Мне нужен способ обновить текст и изображение customButtonField для события buttonClick, не находящегося в фокусе/ Расфокусировать событие, не нажимая один и тот же экран снова и снова.Если приведенное выше описание проблемы не является удовлетворительным, пожалуйста, добавьте комментарий, и я могу дать более подробное объяснение моей проблемы?

1 Ответ

0 голосов
/ 26 августа 2011

Мы можем переопределить некоторые методы CustomButtonField, такие как защищенный логический keyChar (...), защищенный логический navigationClick (...), защищенный логический trackwheelClick (...), защищенное логическое значение touchEvent (...) и т. Д. И использование их для изменения изображения кнопки при наступлении события щелчка или выбора.

Например, для защищенного логического значения touchEvent (...) мы можем выполнить следующую задачу ..

  1. Замените изображение на желаемое, когда мы получим TouchEvent.ClICK .
  2. Вызов недействительным ().
  3. Вкл. TouchEvent.UNCLICK восстановление исходного изображения.
  4. Вызов недействительным ().
...