[英]How can I call getDialog.dismiss to dismiss Dialog Fragment from AsyncTask Class in another Class(not nested)?
[英]How to dismiss dialog from within anonymous class?
假设我有一个自定义对话框类,它扩展了Android的Dialog
。 现在,我在该对话框中有一个按钮,该按钮应该加载另一个片段并关闭对话框,因此我传递了匿名Button.OnclickListener
来加载片段,但由于我无法访问它的对象而无法关闭该对话框。 我该怎么办?
BallsDialog dialog = new BallsDialog(this);
dialog.setTitle("asd");
dialog.setText("asd");
dialog.setAgainButtonOnClickListener(new Button.OnClickListener() {
public void onClick(View view) {
Bundle bundle = new Bundle();
bundle.putString("levels", String.valueOf(levelList.size()));
RelativeLayout ll = (RelativeLayout) findViewById(R.id.BallsRelativeLayout);
ll.setBackgroundResource(R.drawable.horizontal_background_main);
Fragment fragment = new LevelFragment();
fragment.setArguments(bundle);
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.replace(R.id.main_fragment, fragment);
transaction.commit();
fm.executePendingTransactions();
}
});
dialog.show();
如果由于某种原因您无法使外部对象成为最终对象,则仍然可以通过以下限定条件访问它:
BallsDialog.this.dismiss();
好的,我解决了问题,这就是答案。 将对话框对象设置为最终对象,然后可以在匿名类中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.