2012-03-05 21 views
1

私はボタンのないAlertDialogを持っています。このダイアログをクリックすると、どのようにダイアログが閉じられますか?ボタンなしでAlertDialogを閉じる

+1

Lokkがここhttp://iserveandroid.blogspot.in/2010/11/how-to-dismiss-custom-dialog-based-on.html –

+0

なぜあなたは入れいけませんタイマーその後、一定の時間が経過すると、ダイアログが削除されます。ダイアログを開いたままにする必要はありますか? –

+0

ダイアログにカスタムビューを提供していますか、何が問題なのか正確に分かるようにコードを追加してください。 – luciferche

答えて

3

は、そのダイアログに独自のビューを設定することで、あなたはクリックイベントを扱うことができるように、あなたは、そのビューにonClickListenerを設定することができます。カスタムダイアログdismissableになりたい場合は、ダイアログをクリックすることで、

dialog.setCanceledOnTouchOutside(true); 
0

カスタムダイアログを作成する必要があります。下記のリンクを参照してください、それはあなたが

http://iserveandroid.blogspot.in/2010/11/how-to-dismiss-custom-dialog-based-on.html

あなたはまた、特定の時間の後に、ダイアログを閉じするのに役立ちます。以下のリンクを参照してください。私はこの問題について考えることができるもの

http://xjaphx.wordpress.com/2011/07/13/auto-close-dialog-after-a-specific-time/

1

ので、どのボタンが必要ありません: 以下は私のコードですそして、ダイアログの使用次のコード外:

private void showDialog() { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     LayoutInflater inflater = (LayoutInflater)getSystemService          (Context.LAYOUT_INFLATER_SERVICE); 
     View v = inflater.inflate(R.layout.your_custom_dialogLayout, null); 
     builder.setView(v); 
     builder.setCancelable(true);//Dialog dismissed by click outside 
     final AlertDialog dialog = builder.create(); 
     v.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       dialog.dismiss(); //Dialog dismissed by click on dialogs content 
      } 
     }); 
     dialog.show(); 
    } 
0

:これは、ユーザーにダイアログがダイアログ外で触れ閉じ

@Override 
protected Dialog onCreateDialog(int id, Bundle args) { 
    AlertDialog.Builder builder=new Builder(this); 
    builder.setTitle("title"); 

    LayoutInflater inflater=(LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view=inflater.inflate(R.layout.firstview, null);//inflate your own view 
    view.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      YourActivity.this.dismissDialog(dialog_ID);//dismiss the dialog 
     } 
    }); 

    builder.setView(view);//set your custom view to your dialog 

    return builder.create(); 
} 
関連する問題