I made an app which gives a dialog when an EditText loses focus. However, the editText doesn’t lose focus even when the keyboard is closed. I want that the editText should lose focus when the keyboard is closed (using the back button) or when we click on empty space (empty space being LinearLayout.) How can I do that?
Advertisement
Answer
This method enables you to hide the cursor and hide the keyboard when Clicking anywhere on the layout and when clicking the back button :
JavaScript
x
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText.setFocusable(false);
findViewById(R.id.layout).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setInputType(InputType.TYPE_NULL);
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
assert imm != null;
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
});
}