android - 如何关闭对话框?
问题描述
我在关闭对话框时遇到问题。
我有两种情况:
1. 插入一个没有信息的存在(所以当我点击editText 时软键盘不会出现)。
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();
}
});
所以问题是,当我点击editText时- 出现了softKeyboard。
如果我在没有单击editText的情况下插入存在,则它可以正常工作。
解决方案
使用以下代码关闭对话框。首先检查显示对话框是否显示对话框,然后您可以关闭,否则可能是您的应用程序崩溃了。
if(newPresenceUser!=null &&
newPresenceUser.isShowing())
{
newPresenceUser.dismiss();
}
推荐阅读
- android - 旋转按钮 Espresso 测试点击不工作
- python - 如何将 AAII 每周数据重采样为每日?
- vb.net - 实体框架更新数据库
- python - 将 Pip 配置为从不安装到全局环境
- ajax - 将数据作为 json 从 ajax 发送到 express 服务器会导致 preflight cors 错误
- python - 如何监控 TensorFlow 中估计器训练中的验证损失?
- c++ - 插入函数的二叉搜索树问题
- python - Python rfind 包括找到的字符
- c# - 单击相同的按钮但不同的操作 - c#
- django - PythonAnywhere 和 Celery