2012-04-20 2 views
0

이 상황을 해결하는 방법에 대한 힌트를주세요.Android : 하위 사용자 정의보기에서 상위 Activity 메서드를 호출하는 방법?

내 액티비티에는 두 개의 사용자 지정보기가 있으며 사용자 지정보기 (Y) 중 하나에서 단추를 클릭 한 후 Activity 메서드를 호출하고 싶습니다.
상위 액티비티의 X 뷰를 findViewById()까지 가져올 수 있으며 public 메서드라고 할 수 있습니다. 그러나 어떻게하면 버튼이 눌러 졌는지 부모에게 Acitivy에 알릴 수 있습니까?

OnClickListener에서 Activity 메서드를 호출하려면 Y로보기 활동 참조를 전달해야합니까?

example 고맙습니다!

답변

1
button = (Button)customviewY.findViewById(R.id.btnClick); 

button.setOnClickListener(new OnClick..(){ 
    onClick(View v) 
    { 
     textView= (TextView)customviewY.findViewById(R.id.txtView); 
     textView.setText(""); 
    } 
}); 
+0

감사합니다. 변경 사항이 더 복잡한 경우 어떻게해야합니까? 예를 들어 SharedPreferences에 데이터를 저장하고 AsyncTask를 실행하면 부모 활동에서이 모든 작업을 수행 할 수 있습니다. 어떻게 든 부를 수 있다고 생각합니다. 메서드를 복제하여 OnClickListener에서 호출 할 수 있습니까? –

+0

중복 코드 또는 쇼 중 하나에 의존 또는 UR 응용 프로그램이 복잡하지 않은 경우 뷰를 숨기 ... 이상을 나는 정말 액티비티 메서드를 호출 _need_ 것을 깨달았다 TabView – MAC

+0

를 사용하는 (그리고 AsyncTask를 실행) 그래서 그 '질문이 조금 바뀌었다. 내 마음을 넘어 유일한 해결책은 단추를 사용하여 뷰에 Activity 참조를 전달하는 것입니다 (그러나 뷰는 XML을 통해 추가되므로 어디서나 생성자라고 부르지 않습니다). 'set' 메소드를 통해 Activity를 전달해야합니까? –

관련 문제