在MainActivity
我致电
myDialog dialog = new myDialog(MainActivity.this);
dialog.show();
myDialog
是我自己的类,我自定义对话框。
在对话框中是一个按钮。我希望按下按钮时MainActivity
和对话框完成/消失,因为我启动了另一个Activity。
我如何在myDialog
课程onClickListener
中说MainActivity
应该finish()
?
我的对话框的缩短代码:
public class myDialog extends Dialog implements OnClickListener {
void onClick() {
Intent menu = new Intent(getContext(), menu.class);
getContext().startActivity(menu);
}
}
答案 0 :(得分:21)
您可以完成以下活动......
Intent intent = new Intent(context, YourSecondActivity.class);
context.startActivity(intent);
((Activity) context).finish();
<强>更新强>
在自定义对话框类的构造函数中,获取以下活动上下文...
Context mContext;
public myDialog(Context context) {
super(context);
this.mContext = context;
}
然后在您的onClick()
方法中完成以下活动......
@Override
public void onClick(View v) {
Intent menu = new Intent(mContext, menu.class);
mContext.startActivity(menu);
((Activity) mContext).finish();
}
答案 1 :(得分:6)
首先在对话框类中传递调用者活动的上下文,例如MainActivit.class context
现在先关闭对话框
//so as to avoid the window leaks as on destroying the activity it's context would also get vanished.
dialog.dismiss();
然后
((Activity) context).finish();