2012-09-10 71 views
0

我正在編寫一個正在進行活動的應用程序,並且正在啓動一個彈出窗口(彈出窗口,在另一個不是活動的類中實現)。 在我的主要活動中,我有代碼在有事件時顯示彈出窗口。我成功地做到了。但是當我收到另一個事件時,我需要取消彈出窗口。 (我只會在主要活動中得到這個活動)。 當我收到活動時,如何完成主要活動的彈出窗口?關閉另一個活動的彈出窗口

+0

做什麼是彈出來的? –

回答

1

建立在你已經創建了彈出式窗口(對話)的類的公共方法,只要你想刪除的對話框調用此方法裏面寫的

public void dismissDialog(){ 
    dialog.dismiss(); 
} 

然後...

+0

如果你有答案,請標記正確的答案! –

+0

嗨,我的主要活動和彈出類是在不同的包。那我該怎麼做。 – krrakesh16

+0

那麼爲什麼會這樣呢?您可以訪問顯示彈出窗口的方法...然後您也可以訪問解除它的方法... –

1

如果彈出一個對話框,您可以用

dialog.cancel();

+0

嗨,我的主要活動和彈出類是在不同的包。那我該怎麼做。 – krrakesh16

+0

public void showMessage(Context c,final String title, final String s){ mContext = c; 最後AlertDialog.Builder aBuilder = new AlertDialog.Builder(c); aBuilder.setTitle(title); aBuilder.setIcon(R.drawable.ic_launcher); // aBuilder.setIcon(R.drawable.icon); aBuilder.setMessage(一個或多個); aBuilder.setPositiveButton( 「OK」,新DialogInterface.OnClickListener(){ @Override 公共無效的onClick(最終DialogInterface對話,最終詮釋其中){ dialog.dismiss(); – krrakesh16

+0

aBuilder .setPositiveButton( 「OK」,新DialogInterface.OnClickListener(){ @Override 公共無效的onClick(最終DialogInterface對話,最終詮釋其中){ dialog.dismiss(); mMediaPlayer.stop(); // ř .stop(); showNotification(mContext); } }); dlg = aBuilder.show(); MyThread runnable = new MyThread(); Thread thread = new Thread(runnable); thread.start(); setDlg(dlg); // dlg.setCanceledOnTouchOutside(false); – krrakesh16

0
final AlertDialog.Builder aBuilder; 

//constructor(Context c){//mContext = c;} 

public void showMessage(final String title, final String s) { 

     aBuilder = new AlertDialog.Builder(mContext); 
     aBuilder.setTitle(title); 
     aBuilder.setIcon(R.drawable.ic_launcher); 
     // aBuilder.setIcon(R.drawable.icon); 
     aBuilder.setMessage(s); 
    } 

public void dismissMessage() { 
     aBuilder.dismiss(); 
    }