2017-04-25 39 views

回答

0

我想從AlertDialog中訪問父活動的onClick()方法,但不希望因爲我的AlertDialog保持一個活動引用的onClick()處理程序是在另一個文件。對於API 23和更新,這是對我工作:

在AlertDialog.Builder叫我加入這個活動:

dialog.setOwnerActivity(this); 
dialog.show(); 
..... 

然後我通過我的建設者到另一個類。因此,在其中實現DialogInterface.OnClickListener這個單獨的類:

@Override 
    public void onClick(DialogInterface dialogInterface, int which) { 
     Dialog dialog = (Dialog) dialogInterface; 
     Activity activity = dialog.getOwnerActivity(); 
     // do some work with activity 
    } 
}; 

這將與所有DialogInterface聽衆的工作。

@petey致謝this answer指引我朝着正確的方向。

相關問題