Я думаю, что это неожиданное / неправильное использование Banner
.
Однако вы могли бы потенциально сделать это, переопределив navigationClick()
на Banner
:
public class DemonstrationScreen extends MainScreen
{
public DemonstrationScreen()
{
final Bitmap customPlaceholder = Bitmap.getBitmapResource("arrow.png");
Banner bannerAd = new Banner(add.APID,null,10000, customPlaceholder) {
protected boolean navigationClick(int status, int time) {
Dialog.alert("Banner clicked");
return super.navigationClick(status, time);
}
};
bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE);
VerticalFieldManager vfm = new VerticalFieldManager
(VerticalFieldManager.NO_VERTICAL_SCROLL
| VerticalFieldManager.NO_VERTICAL_SCROLLBAR
| VerticalFieldManager.USE_ALL_WIDTH);
HorizontalFieldManager hfm = new HorizontalFieldManager
(HorizontalFieldManager.FIELD_HCENTER
| HorizontalFieldManager.FIELD_VCENTER);
hfm.add(bannerAd);
vfm.add(hfm);
add(vfm);
}
}
Но так какRIM сделал Banner
финал класса вы не можете сделать это.Поэтому я думаю, что ваш запрос не имеет простого решения.Трудным решением было бы «выяснить», какое поле нажимается на уровне MainScreen
(в navigationClick
из MainScreen
вы можете проверить, какое поле находится в фокусе и выполнить что-то).