2010-02-06 5 views
1

View를 확장 한 클래스를 사용하는 Android 활동이 있습니다 (FooView라고 부름). FooView에서 특정 이벤트가 발생하면 대화 상자를 시작하고 싶습니다. 대화 상자는 showDialog()를 사용하여 Activity 클래스에서 시작해야한다는 것을 읽은 것으로 보인다. 보기에서 대화 상자를 시작하는 방법을 보여주는 예제를 찾을 수없는 것 같습니다.보기에서 Android 대화 상자 실행

그래서 어떻게 수행 할 수 있는지 궁금합니다. FooView에서 Activity로 인 텐트를 보내야합니까? 또는 FooView에서 호출 한 Activity에서 콜백을 등록 하시겠습니까?

미리 감사드립니다.

답변

3

활동에 콜백을 등록하고 활동의 메소드를 다시 호출 할 수 있습니다. 예를 들어

: 나는 의심 무슨

public class MyActivity extends Activity { 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    FooView foo = (FooView) findViewById(R.id.foo); 
    foo.setOnClickListener(new OnClickListener() { 
     public void onClick(View view) { 
      launchDialog(); 
     } 
    }); 
} 





     private void launchDialog() { 
    // do it here 

     } 
} 
+0

이 필요했다. – tronman

+0

그리고 뷰를 프로그래밍 방식으로 추가하면 어떻게 될까요? 실제로 Dialog를 보여줄 필요가있는 뷰의 가변 양을 추가합니다. 어떻게 든 가능합니까? –

관련 문제