2011-04-12 4 views
0

ListField 및 ObjectChoiceField가 있습니다.Blackberry에서 하나 이상의 항목에 navigationClick() 문제가 발생했습니다.

navigationClick 메서드에서 어느 것이 선택되었는지 어떻게 알 수 있습니까? navigationClick() 방법에

:

Field field = getFieldWithFocus(); 
if (field instanceof ListField)   // returns false 
if (field instanceof ObjectChoiceField) // returns false 
if (field == myListField)    // returns false 
if (field == myObjectChoiceField)  // returns false 

답변

3

navigationClick() 메소드해야이 하나 이상의 필드에 부착 될 수 FieldChangeListener 달리와 변화된 필드 전달에 부착 된 객체 만 불 매개 변수로. 그것을 디버그하고 싶다면 System.out.println (field.toString())을 사용할 수 있으며 클릭 된 클래스의 클래스 이름을 제공해야합니다. 또한 getFieldWithFocus()가 포커스가있는 필드의 관리자를 반환하는 경우 getLeafWithFocus()를 사용해 볼 수도 있습니다.

+0

고마워, getLeafWithFocus() 나를 위해 일했습니다. – redline

1

ListFieldObjectChoiceField 모두에 대해 navigationClick을 무시하십시오. 그런 다음 각 재정의 된 메소드 내부에서 메소드의 '소유자'와 관련된 클릭 (예 : ListField 또는 ObjectChoiceField) 만 수신합니다.

+0

자바 자습서를 확인해야한다고 생각합니다 - http://download.oracle.com/javase/tutorial/java/IandI/override.html –

관련 문제