如何从匿名类中解除对话?

时间:2015-07-29 13:57:00

标签: java android

假设我有一个扩展Android Dialog的自定义对话框类。现在我在这个对话框中有一个按钮,它应该加载另一个片段并关闭对话框,所以我传递了加载片段的匿名Button.OnclickListener但是因为我无法访问它而无法解除对话框#&#t} 39; s对象。我该怎么办?

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

2 个答案:

答案 0 :(得分:2)

如果由于某种原因你无法使外部物体成为最终物品,你仍然可以通过合格的物品来访问它:

BallsDialog.this.dismiss();

答案 1 :(得分:0)

好的,我解决了问题,这是答案。 使对话框对象最终,然后您可以在匿名类中使用它。