2011-01-17 2 views
0

이 질문은 내가 코딩하려고 시도하고있는 개념에 관한 것입니다.보기에서 대화 상자에 액세스하는 방법은 무엇입니까?

나는 활동 "된 setContentView (myBoard)는"myBoard는 의 인스턴스 NewBoard도 된 onDraw와 함께 그래픽을 그립니다 "클래스 NewBoard보기 OnTouchListener가 {구현 확장"여기서이 "공용 클래스위원회가 활동을 {확장"가 그래픽 단추를 그립니다. "Solve"라는 버튼을 클릭하면 다른 클래스 "public class SKO {"에 대한 시각적 구성 요소가없고 계산이 수행되고 그 결과는 그래픽보기에 의해 다시 그려집니다.

모두 잘 작동합니다.

이제 NewBoard보기에서 그래픽으로 그려진 단추로 대화 상자를 호출하고 싶습니다. 은 "최고"클래스에서

- 보드, 내가 에 적합한 코드가 "보호 대화 상자이 onCreateDialog (INT ID를) {" 이 코드는 내가 ShowDialog를 (int)를 추가하기 때문에 경우에 잘 알고, (하지만 AlertDialog와 취소 버튼)을 보드의 onCreate에 놓은 다음 클래스 보드를 실행하면 대화 상자가 나타나고 취소되면 내 그래픽이 아래에서 작동합니다.

내 문제가 * ** 입니다 * 내 그래픽보기 (NewBoard)에서위원회 내에서 ShowDialog를 (int)를 호출 할 수있는 방법을 찾을 수 없습니다

.

내 그래픽보기 (NewBoard)에 "protected Dialog onCreateDialog (int id) {"를 추가하려했지만 활동에만 추가 할 수 있다고 생각합니다. 나는 약간 통보를 대단히 감사 할 것입니다.

+0

질문을 이해하는 데 어려움이 있지만 왜 작성자가 대화 상자에 대한 참조를 저장하면 저장하지 않습니까? – bgs

답변

0

NewBoardListener와 같은 Listener 인터페이스를 정의하는 것이 좋습니다 (좋은 이름은 아니지만 예제로는 충분 함). Board 클래스는 NewBoardListener로 NewBoard 뷰에 등록 할 수 있습니다. NewBoard 뷰의 버튼 이벤트가 "View Status"와 관련이 있다고 가정하면 NewBoardListener 인터페이스는 onViewStatus()와 같은 메서드를 정의 할 수 있습니다. 사용자가 NewBoard보기에서 버튼을 탭하면 newBoardListener.onViewStatus()에 콜백을 수행합니다. 그런 다음 newBoardListener 인터페이스를 구현하는 Board 클래스에서 onViewStatus 메서드에서 showDialog (int)를 호출합니다.

+0

나는 지금 일하고있다. 귀하의 의견에 많은 감사드립니다. – DMW

관련 문제