In my Android application it automatically focuses the first Button
I have in my layout, giving it an orange outline. How can I set the initial focus preferably in XML, and can this be set to nothing?
You could use the requestFocus
tag:
<Button ...>
<requestFocus />
</Button>
I find it odd though that it auto-focuses one of your buttons, I haven't observed that behavior in any of my views.
setFocusableInTouchMode(true);
–
Jacklight @Someone Somewhere, I tried all of the above to no avail. The fix I found is from http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Basically, you need to create an invisible layout just above the problematic Button:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
containing the EditText
. –
Mettlesome Set both :focusable
and :focusableInTouchMode
to true and call requestFocus
. It does the trick.
I found this worked best for me.
In AndroidManifest.xml <activity> element
add android:windowSoftInputMode="stateHidden"
This always hides the keyboard when entering the activity.
I just add this line of code into onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problem solved.
Use the code below,
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();
that should work.
@Someone Somewhere I used this to clear focus:
editText.clearFocus();
and it helps
android:focusedByDefault="true"
focusedByDefault
is only used in API level 26 and higher (current min is 21). –
Favus in my case, I had to put isFocusable = true
in the init block of my custom view:
init {
isFocusable = true
}
© 2022 - 2024 — McMap. All rights reserved.