If I may to ask almost the same question here from this topic
I've added in my activity_main.xml file:
 android:focusable="true"
 android:focusableInTouchMode="true"
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
tools:context="com.example.stefancvetkovic.stefantest001.MainActivity">
<EditText
    android:id="@+id/txtScanedResult"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName"
    tools:layout_editor_absoluteX="16dp"
    tools:layout_editor_absoluteY="16dp" />
</android.support.constraint.ConstraintLayout>
And it works fine, but when I want to hide my keyboard on finish event, the keyboard stays opened.
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ((EditText)findViewById(R.id.txtScanedResult)).setOnEditorActionListener(
            new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_SEARCH ||
                            actionId == EditorInfo.IME_ACTION_DONE ||
                            event != null &&
                                    event.getAction() == KeyEvent.ACTION_DOWN &&
                                    event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                        if (event == null || !event.isShiftPressed()) {
                            // the user is done typing.
                                //HIDE KEYBOARD
                            EditText edtView=(EditText)findViewById(R.id.txtScanedResult);
                            edtView.setInputType((InputType.TYPE_NULL));
                                //
                            Toast.makeText(getApplicationContext(),"Voila!",Toast.LENGTH_SHORT)
                                    .show();
                            return true; // consume.
                        }
                    }
                    return false; // pass on to other listeners.
                }
            });
}
Toast works perfectly on finish event, but keyboard stays opened. Hoiw can I manage to be initialy closed keyboard on the load, and to be hidden on finishEvent? I am running in emulator on Android 5.1
 
     
     
    