我想为 注册一个回调dialog.setOnCancelListener ( OnCancelListener)
,但是这个回调会为其他对话框注册很多次,所以我应该从传递的对话框中获取一些唯一的日期,并使用不同的额外日期来知道哪个有用或无用。
问问题
1219 次
1 回答
0
使用一个接口,把这段代码放在你的 Dialog Fragmnet 中: public static interface MyInterface { public void cance(String someInfo); }
private MyInterface mListener;
@Override
public void onAttach(Activity activity) {
mListener = (MyInterface) activity;
super.onAttach(activity);
}
@Override
public void onDetach() {
mListener = null;
super.onDetach();
}
然后,在 onCancel 方法中:
@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);
}
回到你的课堂:
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
}
于 2012-12-06T05:18:00.747 回答