I have an Activity with an EditText and a Button. When the User clicks on the EditText, the keyboard is shown and he can type in some Text - fine. But when the user clicks on the Button I want the EditText to be no more in focus i.e. the keyboard hides til the user clicks again on the EditText.
What can I do to 'hide the focus' of the EditText, after the Button is clicked. Some Code I can add in the OnClick Method of the Button to do that?
EDIT:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/edt_SearchDest"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:textSize="18sp"
android:hint="Enter your look-up here.." />
<Button
android:id="@+id/btn_SearchDest"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:text="Search" />
</LinearLayout>
Best Regards
I've successfully used the following in the onClick button code:
Somewhat less complex than other methods...
The most elegant solution that I could find is this:
You can save this method in your utility class:
By simply calling hideSoftKeyboad() method it will hide the keyboard but as you can see, the focus will still be present.
In order to remove the focus we will use a simple trick. Right above your input controls, add a dummy view like this:
Then, write this line of code at the place where you call the focus-hiding method:
Since the app needs to pass the focus to the next control it will be passed to our invisible view.
Why not just disable the EditText in the Button code? That should get rid of the keyboard and the focus.
edt_SearchDest.setEnabled(false);
Put this in your button listener:
EDIT
The solution above will break your app if no
EditText
is focused on. Modify your code like this:add this method to you class:
Then, in your button listener, call the method like this:
Sorry late to the answer, but I hope this will be the right answer, as I fixed it using
Write the following snippet on your button click.