2012-12-06 4 views

답변

0

인터페이스를 사용하여 Dialog Fragmnet에 다음 코드를 입력하십시오. public static interface MyInterface { public void cance (String someInfo); }는으로 onCancel 방법

다음
private MyInterface mListener; 

@Override 
public void onAttach(Activity activity) { 
    mListener = (MyInterface) activity; 
    super.onAttach(activity); 
} 

@Override 
public void onDetach() { 
    mListener = null; 
    super.onDetach(); 
} 

는 :

위로 클래스
@Override 
public void onCancel(DialogInterface dialog) { 
    // TODO Auto-generated method stub 
    super.onCancel(dialog); 
      //This line passes the String to the implementing class 
      mListener.onChoose(choice); 
} 

: 함수는 onAttach

public class MainActivity extends Activity implements MyInterface { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.activity_main); 
} 

public void onChoose(String myExtraData) { 
    //Do stuff here 
} 
+0

정의 어디? – mogutou

+0

@Override가 표시되면 이는 수퍼 클래스에서 상속 된 메서드임을 의미합니다. 본질적으로 onAttach는 onCreate가 Activity 클래스의 일부인 것처럼 인터페이스 클래스의 일부입니다. – Hennaz

관련 문제