简体   繁体   English

如何关闭对话框?

[英]How to dismiss a Dialog?

I have problem with dismissing a Dialog.我在关闭对话框时遇到问题。
I have two cases:我有两种情况:
1. Insert a presence without info (so the soft Keyboard doesn't appear, when I click on the editText). 1.插入一个没有信息的状态(所以当我点击editText时不会出现软键盘)。
2. Insert a presence with info. 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();
        }
    });

So the problem is, when I click on the editText - the softKeyboard appears.所以问题是,当我点击editText 时- softKeyboard出现。
If I insert the presence without click on the editText , it works with no problem.如果我在不单击editText的情况下插入存在,则它可以正常工作。

Use below code to dismiss dialog.使用下面的代码关闭对话框。 First check dialog showing if dialog showing then you can dismiss otherwise may be your app was crashed.首先检查对话框是否显示对话框显示然后你可以关闭否则可能是你的应用程序崩溃了。

  if(newPresenceUser!=null && 
        newPresenceUser.isShowing())
   {
          newPresenceUser.dismiss();
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM