Android 如何消除对话?
我无法取消对话。Android 如何消除对话?,android,dialog,android-softkeyboard,dismiss,Android,Dialog,Android Softkeyboard,Dismiss,我无法取消对话。 我有两个箱子: 1.插入不带信息的状态(这样当我单击编辑文本时,软键盘不会出现)。 2.插入带有信息的状态 private Dialog newPresenceUser; newPresenceUser= new Dialog(activity); ImageView addPresenceButton=(ImageView)itemView.findViewById(R.id.add_pres); addPresenceButton.setOnClickListener(ne
我有两个箱子:
1.插入不带信息的状态(这样当我单击编辑文本时,软键盘不会出现)。
2.插入带有信息的状态
private Dialog newPresenceUser;
newPresenceUser= new Dialog(activity);
ImageView addPresenceButton=(ImageView)itemView.findViewById(R.id.add_pres);
addPresenceButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CardView send;
final Spinner tipo;
final EditText info;
final ImageButton exit;
newPresenceUser.setContentView(R.layout.new_presenza);
exit=(ImageButton)newPresenceUser.findViewById(R.id.exit_event_button);
tipo=(Spinner) newPresenceUser.findViewById(R.id.spinner_tipo);
send=(CardView) newPresenceUser.findViewById(R.id.event_insert);
info=(EditText)newPresenceUser.findViewById(R.id.info_presenza);
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
newPresenceUser.dismiss();
}
});
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//newPresenceUser.cancel();
String infoAgg=info.getText().toString();
try {
new GestorePresenza().inserisciPresenza(activity,user,tipo.getSelectedItem().toString(),infoAgg,lstCont.get(i).getUid(),(View)viewGroup.getParent(),newPresenceUser);
newPresenceUser.dismiss();
} catch (ParseException e) {
e.printStackTrace();
}
}
});
newPresenceUser.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
newPresenceUser.show();
}
});
所以问题是,当我点击编辑文本时,软键盘就会出现。如果我在没有点击编辑文本的情况下插入状态信息,它就可以正常工作。使用下面的代码关闭对话框。首先检查对话框是否显示对话框,然后您可以关闭,否则可能是您的应用程序崩溃
if(newPresenceUser!=null &&
newPresenceUser.isShowing())
{
newPresenceUser.dismiss();
}
谢谢你,我决定。问题是,我不知道为什么,如果单击editText,对话框将生成两次,因此我传递的第一个引用无效。