![](/img/trans.png)
[英]How to enable dragging on ViewPager2 inside BottomSheetDialogFragment?
[英]How to handle focus of edittext inside viewpager2
我有一個帶有 5 個片段的 viewpager2,最后一個片段有 Edittext 問題是,每次用戶選擇最后一個片段時,我都想向我的 edittext 請求焦點()。
我試過的:
對此問題的任何想法將不勝感激謝謝
編輯:
對不起,我忘了提
我的 Viewpager(parent) 位於其他 viewpager2(child) 的最后一個片段中。 所以我有 viewpager2(parent),最后一個片段包含我的 viewpager2(child)。 當我選擇“孩子”的最后一個片段時,我可以將焦點設置為編輯文本。 但問題是當我將“父”選項卡和 go 更改回包含“子”的最后一個片段時。 我不能告訴“孩子”再次集中注意力。
是 Onresume 和 onpause 在“父”片段而不是“子”片段中工作
謝謝
您可以在最后一個片段的onCreateView
方法或活動中的onActivityCreated
方法中requestFocus
,盡管我從未使用過最后一個。
請記住,為了在requestFocus
中請求焦點,您需要先在觸摸模式下啟用焦點。
您可以通過 XML 使用: android:focusableInTouchMode="true"
或使用 Java: editText.setFocusableInTouchMode(true);
您可以在最后一個片段的onResume
方法中 requestFocus,使用 Viewpager2 任何屏幕外片段都將在onStarted
處設置上限,並在完全顯示在屏幕上時恢復。
我不知道你為什么說:-
使用 onresume、onattach 等,當用戶在片段之間切換時,它們都不會被調用
除非您在這里談論的是Activity's
onResume
。
此行為沒有得到很好的記錄,但您可以在 releasenotes https://developer.android.com/jetpack/androidx/releases/viewpager2#1.0.0-alpha06中看到該功能
FragmentStateAdapter:非主要項 Fragments 的上限為 STARTED,並且它們的 menuVisibility 設置為 false。
和
https://developer.android.com/jetpack/androidx/releases/viewpager2#1.0.0-beta05
修復了更改頁面時片段暫停/恢復事務的順序(我們現在總是在恢復新的主要項目之前暫停舊的主要項目)。 (b/139489059)
你還說:-
不推薦使用 Setuservisisiblehint
這不是 Viewpager2 的一部分,但原始 viewpager 和原始 viewpager 也僅恢復當前片段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.