android - RecyclerLayout inside CoordinatorLayout scrollToPosition visibility -


i using coordinatorlayout appbarlayout inside , element try able scroll when recyclerview being scrolled. until that, working suposed to, problems comes when try programatically scrolltoposition of lasts positions of recyclerview. recyclerviews scroll, position tell scroll not visible (in fact, if scroll manually, visible once other element inside appbarlayout has scrolled out of screen). this code:

 <android.support.design.widget.coordinatorlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"             android:layout_width="match_parent"             android:layout_height="match_parent">              <android.support.design.widget.appbarlayout                 android:id="@+id/app_bar_layout"                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 app:elevation="0dp">                  <com.github.mikephil.charting.charts.barchart                     android:id="@+id/chart"                     android:layout_width="match_parent"                     android:layout_height="280dp"                     android:layout_below="@+id/toolbar_conso"                     android:background="@color/background_dark_grey"                     app:layout_scrollflags="scroll|enteralways" />              </android.support.design.widget.appbarlayout>              <linearlayout                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 android:orientation="vertical"                 app:layout_behavior="@string/appbar_scrolling_view_behavior">                  <linearlayout                     android:id="@+id/linear_total_conso"                     android:layout_width="match_parent"                     android:layout_height="wrap_content"                     android:gravity="center_horizontal"                     android:orientation="horizontal">                      <textview                         android:id="@+id/current_consumption"                         android:layout_width="wrap_content"                         android:layout_height="wrap_content"                         android:text=""                         android:textcolor="@color/graph_consumption_color"                         android:textsize="30sp" />                      <textview                         android:id="@+id/consumption_unit"                         android:layout_width="wrap_content"                         android:layout_height="wrap_content"                         android:layout_marginleft="5dp"                         android:layout_marginstart="5dp"                         android:text=""                         android:textappearance="@style/textappearance.smartlink.large"                         android:textcolor="@color/graph_consumption_color" />                 </linearlayout>                  <android.support.v7.widget.recyclerview                     android:id="@+id/recycler_view"                     android:layout_width="match_parent"                     android:layout_height="wrap_content"                     android:layout_gravity="center_horizontal" />             </linearlayout>         </android.support.design.widget.coordinatorlayout> 

and code of recyclerview:

    recyclerview = (recyclerview) view.findviewbyid(r.id.recycler_view);     recyclerview.setlayoutmanager(new linearlayoutmanager(context));     recyclerview.setadapter(adapter); 

the adapter simple text adapter........

when try scroll after receiving event service, there broadcastreceiver receives event , manage result:

    @override     public void onreceive(context context, intent intent) {             int position = intent.getextras().getint(position);             recyclerview.scrolltoposition(position);     } 

my idea think recyclerview does't understands position not visible.....

try code, collapse appbarlayout:

  @override public void onreceive(context context, intent intent) {        int position = intent.getextras().getint(position);       app_bar_layout.setexpanded(false);       recyclerview.scrolltoposition(position);   } 

Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -