1. 程式人生 > >NestedScrollView,ScrollView中巢狀listView 或者RecyclerView會自動跳到頂部,中部,底部的問題。

NestedScrollView,ScrollView中巢狀listView 或者RecyclerView會自動跳到頂部,中部,底部的問題。

在開發中,我們經常會遇到這樣的佈局,就是NestedScrollView,ScrollView中巢狀listView 或者RecyclerView,但是有時候會發現會出現自動跳轉到listview或者recycleview的頂部或者頂部的問題,開始在網上查詢,也有別人遇到這個問題,他們給的解決方案是:

方法1:

scrollview.post(  
    new Runnable() {  
            public void run() {   
                scrollview.scrollTo(0, 0) ;   
            }   
       });

方法2:

 scrollview下的第一個子控制元件view 佈局里加上如下兩句即可解決此問題。

 android:focusable="true"
 android:focusableInTouchMode="true" 或者程式碼設定:
view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.requestFocus();

方法3:

最近發現很多機型,使用上面的幾個方法不生效。後來發現用
android:descendantFocusability="blocksDescendants"
可以解決此問題。將此句程式碼放到異常的控制元件裡,或者上一層控制元件即可。