-1

我想为 注册一个回调dialog.setOnCancelListener ( OnCancelListener),但是这个回调会为其他对话框注册很多次,所以我应该从传递的对话框中获取一些唯一的日期,并使用不同的额外日期来知道哪个有用或无用。

4

1 回答 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 回答