Android - 自定义对话框类 - 如何关闭

时间:2016-10-13 15:38:31

标签: android class dialog

所以我创建了一个自定义对话框类,但是当我尝试关闭它时它不会关闭。

以下是关闭对话框的代码部分

public static void CountDownDialog(final Activity activity){

    countDownDialog = new Dialog(activity, R.style.dialog);
    ...    
    negativeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dismiss_dialog();
        }
    });

    countDownDialog.show();
    ...  
}

该方法应该关闭对话框

private static void dismiss_dialog() {

    countDownDialog.dismiss();

}

2 个答案:

答案 0 :(得分:0)

我从您的示例中了解到,您实际上并未创建任何自定义对话框类。您正在创建一个普通对话框并将该对话框设置为您班级中的成员但yiu正在使用静态函数。 Yon可以尝试返回对话框,而不是在该类中设置它,然后您将从调用者那里获得对话框实例的引用,并随时调用该实例上的dismiss。

答案 1 :(得分:0)

示例对话框;

public class MyDialogFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_sample_dialog, container, false);
    Button dismiss = (Button) rootView.findViewById(R.id.dismiss);
    getDialog().setTitle(getResources().getString(R.string.app_name));
    dismiss.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            dismiss();
        }
    });
    return rootView;
}

}

如何打电话;

FragmentManager fm = getFragmentManager();
MyDialogFragment dialogFragment = new MyDialogFragment();
dialogFragment.show(fm, "");