How to set the focus on button? - android

Hi I have some EditTexts and a button at the bottom of the view. Upon starting the activity, the first EditText will gain focus and a keyboard will pop up. I want to upon starting the activity, the focus will be on the button instead of the EditText and the keyboard should not pop up. I tried running:
button.requestFocus();
The EditText still have focus and pops up the keyboard. How can I resolve this? Thanks.

Its trickier than it seems, but certainly possible. See here:
Stop EditText from gaining focus at Activity startup

Put android:windowSoftInputMode="stateHidden" to your Activity which contains EditText
<activity android:name=".YourActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden">
</activity>

You can force hide the keyboard by calling this on the EditText view
InputMethodManager mgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(myView.getWindowToken(), 0);
Hope this helps,
-serkan

Related

Soft Keyboard opens then closes in clicking edittext

I have a Recyclerview and one of the items has an edittext , but everytime i clcik on field to start typing the Soft Keyboard opens then closes right away. Has anyone experienced this before ?
Maybe a little too late but I've just had this issue. I solved by adding android:windowSoftInputMode="adjustPan" to YourActivity in AndroidManifest.xml, like:
<activity android:name=".YourActivity" android:windowSoftInputMode="adjustPan"/>

Unclickable EditText on resume

I currently have an EditText inside a fragmented Tab, When you first enter the view the EditText only works correctly if i use
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
on the view, but it does allow my to hide the keyboard and bring it back be re-clicking.
However if i was to leave this view or if the phone goes to sleep for a moment and comes back the edit text is no longer clickable, I've tried forcing it to be focused using onresume but once you hide the keyboard you cannot regain focus again.
I feel as if i'm missing something regarding EditText Functionality in Fragments but i've had 0 luck finding anything relating to this problem.
Thanks for your time.
Rather then hiding keyboard from code, hide it from manifest on that activity. It will solve your problem i guess.
For hiding from manifest use this code -
<activity
android:name="com.app.xyz.youractivityname"
android:windowSoftInputMode="stateHidden" />
On your onResume you can do this:
EditText someEditText = (EditText)getActivity().findViewById(R.id.someEditText);
someEditText.requestFocus();
InputMethodManager mgr = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(someEditText, InputMethodManager.SHOW_IMPLICIT);

EditText has focus when Activity starts, but soft keyboard is not shown

as mentioned above, the keyboard does not show up, although the EditText is focused (orange border) and the cursor is blinking.
When I click into text field, it opens up, however I want it to be open right when the activity starts.
I tried setting android:windowSoftInputMode="stateVisible" in the activity, I tried showSoftInput(yourTextBox, InputMethodManager.SHOW_IMPLICIT); and also requestFocus().
But no success...
What could be the problem?
Try something like this:
EditText myEditText = (EditText) findViewById(R.id.editPasswd);
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(myEditText, InputMethodManager.SHOW_FORCED);
Are you testing on emulator? If you do, you should know that keyboard doesn't pop up on emulator :), but it does on a real device
Good luck,
Arkde
Another way to show the keyboard when the Activity is created is to add this code in your AndroidManifest file for the activity which you want to show the keyboard on starts :
<activity android:name=".UserLogin" android:windowSoftInputMode="stateAlwaysVisible"/>

Change what item has focus on startup. Remove focus from EditText

I have a LinearLayout and an associated Activity. In my view there is an EditText's box and a bunch of Buttons. When I start the application, focus goes immediately to the EditTexts box and the soft keyboard comes up. Is there a way to avoid this so that it just comes up with nothing selected and no soft keyboard popping up? I have tried findViewById().clearFocus() and requestFocus() on different views, but nothing seems to work.
Change your Activity settings in manifest like below:
<activity
android:name=".MyActivity"
android:windowSoftInputMode="stateHidden">
</activity>

how to disappear keyboard onCreate Method?

friends,
i have a EditText on simple activity with a button.
when every i move from one activity to this acivity focus is automatically set to EditText and keyboard appears in phone.
i dont want to open keyboard untill i click on editText.
can any one guide me what should i do?
any help would be appriciated.
You can use the following line of code to make sure the keyboard doesn't pop up when the activity starts and only pops up when a user clicks into an EditText
Place it in the onCreate method of your activity
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
EditText.setInputType(InputType.TYPE_NULL);
You can also pass the same thing in AndroidMenifest file for that particular activity like:
<activity
android:name="Activity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" >
</activity>
This will also work for you :)

Categories

Resources