简体   繁体   中英

prevent softkeyboard from showing up in popup's which contain edittext?

i have a pop up which contains edit text..how can i prevent the softkeyboard from showing up on displaying of pop up's because my pop up is moving up as soon as it is displayed.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

i used this line in the activity in which a pop up is displayed on button click. please help...!

android:windowSoftInputMode="stateHidden" 

i also used this line in manifest. but of no use.

public class MainActivity extends Activity implements OnClickListener {
       AlertDialog dialog;
       View checkBoxView ;


       @Override
       protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);



findViewById(R.id.des_button).setOnClickListener(this);
//checkBoxView = View.inflate(this, R.layout.popup_description, null);
}
       @Override
       public void onClick(View v) {

           final Dialog dialog = new Dialog(this);
           dialog.getWindow().getAttributes().windowAnimations = 


                   R.style.dialog_animation;

//          dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
            dialog.setContentView(R.layout.popup_description);
            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
            Button btn_Start = (Button) dialog.findViewById(R.id.ok);
            btn_Start.setOnClickListener(new OnClickListener() {  
                @Override  
                public void onClick(View view) {  

                    dialog.dismiss();   
                }  
            });

            Button cancel = (Button) dialog.findViewById(R.id.cancel);
            cancel.setOnClickListener(new OnClickListener() {  
                @Override  
                public void onClick(View view) { 
                    dialog.dismiss(); 
                }  
            });

            dialog.show();
       }
       @Override
       public void onDestroy() {
              if (dialog!=null) {
                     if (dialog.isShowing()) {
dialog.dismiss();


}

Try

    android:windowSoftInputMode="stateAlwaysHidden"

in your manifest in that activity. one more thing you can do call the following method after opening that dialog popup.

    public static void hideKeyboard()
    {
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(editTextInPopup.getWindowToken(), 0);
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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