සරල විසඳුමක් තිබේ. මෙම ගුණාංග ඔබේ මව් පිරිසැලසුම තුළ සකසන්න:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true" >
දැන්, ක්රියාකාරකම ආරම්භ වන විට මෙම ප්රධාන පිරිසැලසුම පෙරනිමියෙන් අවධානය යොමු කරනු ඇත.
එසේම, ක්රියාත්මක වන වේලාවේදී (උදා: ළමා සංස්කරණය අවසන් කිරීමෙන් පසු) ළමා දර්ශන වලින් අවධානය ඉවත් කිරීම අපට ප්රධාන සැකැස්ම වෙත නැවත අවධානය යොමු කිරීමෙන් මෙසේ කළ හැකිය:
findViewById(R.id.mainLayout).requestFocus();
Guillaume Perrot වෙතින් හොඳ අදහසක් :
android:descendantFocusability="beforeDescendants"
පෙරනිමිය ලෙස පෙනේ (නිඛිල අගය 0 වේ). එය ක්රියාත්මක වන්නේ එකතු කිරීමෙන් පමණි
android:focusableInTouchMode="true"
.
සැබවින්ම, ක්රමයේ beforeDescendants
පෙරනිමිය ලෙස කට්ටලය අපට දැක ගත හැකිය ViewGroup.initViewGroup()
(ඇන්ඩ්රොයිඩ් 2.2.2). නමුත් 0 ට සමාන නොවේ.ViewGroup.FOCUS_BEFORE_DESCENDANTS = 0x20000;
ගුයිලූම්ට ස්තූතියි.
android:focusableInTouchMode="true"
!