Edited ...Вызов navigationClick из navigationClick 'отца' в Blackberry
я пытаюсь развернуть новый компонент в моем приложении BlackBerry. У меня есть новый класс, который расширяет HorizontalFieldManager, где я создал новый ListField. Внутри этого я перезаписал метод navigationClick и открыл всплывающее окно. Имя этого компонента - CustomComponentHorizontal. Я использую этот компонент в другом настраиваемом компоненте, его имя - CustomComponentVertical. Это код:
В Main.java:
...
CustomComponentVertical ccv=new CustomComponentVertical();
...
add(ccv);
В CustomComponentVertical
...
CustomComponentHorizontal cch=new CustomComponentHorizontal{
...
protected boolean navigationClick(int status, int time) {
//Should I do something here??
return super.navigationClick(status, time);
}
};
...
add(cch);
В CustomComponentHorizontal:
public class CustomComponentHorizontal extends HorizontalFieldManager {
ListField choiceField=null;
PopupScreen popup=null;
public CustomComponentHorizontal(){
choiceField = new ListField(){
public boolean navigationClick(int status, int time) {
Field focus = UiApplication.getUiApplication().getActiveScreen().getLeafFieldWithFocus();
if (focus instanceof ListField) {
popup = new ChoicePopupScreen(10, 50, choices);
popup.setChoice(choices);
UiApplication.getUiApplication().pushScreen(popup);
setPopup(popup);
return super.navigationClick(status, time);
}
};
}
}
}
Моя цель в том, что, когда я нажимаю в моем компоненте, он начал navigationClick из ListField. Когда я добавляю фокус в свой компонент и щелкаю с помощью трекпада, всплывающее окно не открывается. Но, если я касаюсь экрана над компонентом, а затем я нажимаю трекпад, всплывающее окно открывается. Как я могу открыть всплывающее окно из компонента без использования события касания?
спасибо.
Вам нужна «navigationClick» специально? Я не думаю, что вы справитесь с этим, так как bb не поддерживает рефлексию. В противном случае просто создайте свой собственный метод 'onClick' – Kevin
Вопрос в том, почему, когда я нажимаю трекпад в своем компоненте, он не вызывается в navigationClick из спискаField? – user1983864