2016-10-13 8 views
0

のカスタムダイアログボックスを作成しましたが、閉じようとすると閉じません。ここで Android - カスタムダイアログクラス - 閉じる方法

は、ダイアログ

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(); 

} 

答えて

0

を閉じることになっ方法であり、ダイアログクラス。通常のダイアログを作成し、そのダイアログをクラスのメンバーとして設定していますが、静的関数を使用しています。 Yonはそのクラスでそれを設定するのではなく、ダイアログインスタントを返そうとすることができます。そして、あなたは呼び出し元からのダイアログインスタンスの参照を持ち、いつでもそのインスタンスを閉じることができます。

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, ""); 
+0

音が良い、今すぐ試してみる – Isabelle

関連する問題