Question

Hi I am stuck with the issue of hiding relative layout when scrolling a list view.

Required:

When i scroll list view , relative layout should be invisible

when i didnt scroll relative layout should be visible

Function.java

lv.setOnScrollListener(new OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState)
            {
                // TODO Auto-generated method stub
//              rel.setVisibility(View.GONE);


            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)
            {

                rel.setVisibility(View.INVISIBLE);

                if(firstVisibleItem == 0)
                {

                }
                else
                {
                    rel.setVisibility(View.VISIBLE);
                }

            }
        });

mylayout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp" />

    <LinearLayout
        android:id="@+id/myrelative"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#FF0000"
        android:orientation="horizontal"
         >

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

</RelativeLayout>

please guide me to solve this problem

Was it helpful?

Solution

Try This

private int mLastFirstVisibleItem;
    private OnScrollListener lead_scrolllist = new OnScrollListener()
        {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) 
            {
                if (view.getId() == LeadDetail_listview.getId()) 
                {
                    final int currentFirstVisibleItem = LeadDetail_listview.getFirstVisiblePosition();

                    if (currentFirstVisibleItem > mLastFirstVisibleItem) 
                    {
                        Linear_leadfooter.setVisibility(View.GONE);
                    } 
                    else if (currentFirstVisibleItem < mLastFirstVisibleItem) 
                    {

                        Linear_leadfooter.setVisibility(View.VISIBLE);
                    }

                    mLastFirstVisibleItem = currentFirstVisibleItem;
                } 
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) 
            {

            }
        };
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top