-1
dialog.setOnCancelListener (OnCancelListener)
, 에 대한 콜백을 등록하려고하지만이 콜백이 다른 대화 상자에 여러 번 등록되므로 다른 날짜가있는 전달 된 대화 상자에서 어느 날짜가 유용하거나 유용하지 않은지 알 수 있습니다.대화 상자에 여분의 데이터를 넣는 방법은 무엇입니까?
dialog.setOnCancelListener (OnCancelListener)
, 에 대한 콜백을 등록하려고하지만이 콜백이 다른 대화 상자에 여러 번 등록되므로 다른 날짜가있는 전달 된 대화 상자에서 어느 날짜가 유용하거나 유용하지 않은지 알 수 있습니다.대화 상자에 여분의 데이터를 넣는 방법은 무엇입니까?
인터페이스를 사용하여 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
}
정의 어디? – mogutou
@Override가 표시되면 이는 수퍼 클래스에서 상속 된 메서드임을 의미합니다. 본질적으로 onAttach는 onCreate가 Activity 클래스의 일부인 것처럼 인터페이스 클래스의 일부입니다. – Hennaz