假设我有一个扩展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();
答案 0 :(得分:2)
如果由于某种原因你无法使外部物体成为最终物品,你仍然可以通过合格的物品来访问它:
BallsDialog.this.dismiss();
答案 1 :(得分:0)
好的,我解决了问题,这是答案。 使对话框对象最终,然后您可以在匿名类中使用它。