Я как бы новый для этого программирования ежевики ... Я хочу сделать пользовательскую кнопку из растрового изображения и BitmapField, но когда я нажимаю на битмап-поле, он всегда показывает меню item first («open»), затем выполните метод run.Blackberry: как реализовать BitmapField как кнопка
Я хочу сделать его доступным для кликов, когда я клик на трекпаде, он выполнит метод запуска (непосредственно выполните метод run, не показывая «открытое» меню), но я не могу понять, как это сделать способ ...
это мой код:
private void createFields()
{
Bitmap atas = Bitmap.getBitmapResource("banerputih.png");
add(new BitmapField(atas, Field.FIELD_HCENTER));
//separator
add(new SeparatorField());
Bitmap satu = Bitmap.getBitmapResource("wisata.png");
Bitmap dua = Bitmap.getBitmapResource("trasport.png");
Bitmap tiga = Bitmap.getBitmapResource("other.png");
Bitmap empat = Bitmap.getBitmapResource("aboutme.png");
Bitmap three = Bitmap.getBitmapResource("3.gif");
add(new BitmapField(satu, Field.FOCUSABLE | Field.FIELD_HCENTER |Field.HIGHLIGHT_FOCUS));
add(new BitmapField(dua, Field.FOCUSABLE | Field.FIELD_HCENTER | Field.HIGHLIGHT_FOCUS));
add(new BitmapField(tiga, Field.FOCUSABLE | Field.FIELD_HCENTER | Field.HIGHLIGHT_FOCUS));
add(new BitmapField(empat, Field.FOCUSABLE | Field.FIELD_HCENTER | Field.HIGHLIGHT_FOCUS));
add(new SeparatorField());
add(new BitmapField(three, Field.FIELD_HCENTER));
add(new SeparatorField());
//Disini ditambahin Gambar
//panjang 480 pixel
}
//menambahkan menu open TODO
MenuItem _openAction = new MenuItem("Open",100000,10)
{
public void run()
{
getValue();
}
};
//menu about TODO
MenuItem _AboutAction = new MenuItem("About",100,100)
{
public void run()
{
UiApplication.getUiApplication().pushScreen(new AboutScreen());
}
};
//method getValue();
protected void getValue()
{
Field f = getFieldWithFocus();
if (f instanceof BitmapField)
{
BitmapField b = (BitmapField)f;
b.getIndex();
//untuk cek index
//Dialog.alert(Integer.toString(b.getIndex()));
if (b.getIndex() == 2)
{
UiApplication.getUiApplication().pushScreen(new wisataScreen());
}
else if (b.getIndex()== 3)
{
UiApplication.getUiApplication().pushScreen(new TransportScreen());
}
else if (b.getIndex()== 4)
{
UiApplication.getUiApplication().pushScreen(new HotelScreen());
}else if (b.getIndex()== 5)
{
UiApplication.getUiApplication().pushScreen(new AboutScreen());
}
}
}
public void makeMenu(Menu m, int instance)
{
m.add(_openAction);
m.add(_AboutAction);
super.makeMenu(m, instance);
}
}
Я видел ваш код это совершенно другое; см. эту ссылку Я опубликовал «Clickable Bitmap», который может вам помочь; http://stackoverflow.com/questions/9035987/calling-between-classes-in-blackberry-java/9059340#9059340 – alishaik786
Вы должны искать, прежде чем задавать вопрос, я думаю. Попробуйте эту ссылку: http://stackoverflow.com/questions/6252335/bitmapfield-click-does-not-work-on-blackberry-application/6252788#6252788 –
проверить мой ответ в этом вопросе-: http: // stackoverflow.com/questions/9035987/calling-between-classes-in-blackberry-java/9059340#9059340 – Signare