Skip to content Skip to sidebar Skip to footer

Android: Listview Inside A Scrollview Doesn't Work?

I am having a listview inside a scrollview, but the problem is that the scrollview is scrolling but listview is not scrolling. I think this is due to that scrollView. Can somebody

Solution 1:

Generally, you cannot put scrollable things inside other scrollable things, where they scroll in the same direction, and have the results be reliable. Occasionally this works (e.g., WebViews in a ViewPager), but that is the exception, not the norm.

Either:

  • Move the ListView out of the ScrollView, or

  • Move all the rest of the contents of the ScrollView into the ListView, whether using things like addHeaderView() or my MergeAdapter

Solution 2:

If you put your ListView/any scrollable View inside the scrollView it will not work properly because when you touch the screen ,main focus of your touch is on parent view(scrollView ) not the child View (ListView).

Solution 3:

ListView must have fixed height as below in your XML file

        <ListView android:id="@+id/lv"
            android:listSelector="#0f0"            
            android:layout_width="fill_parent"
            android:layout_height="500px" />

In Java file, write below code after setContentView()

        lv = (ListView)findViewById(R.id.lv);
        lv.setAdapter(your adapter here);  // you have to add your adapter here             

        lv.setOnTouchListener(newListView.OnTouchListener() {
            @OverridepublicbooleanonTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_MOVE)
                {
                    lv.scrollBy(0, 1);
                }
                returnfalse;
            }
        });

Make these changes to your code and test it. After too many experiments i written this code. It is working 100% fine.

Post a Comment for "Android: Listview Inside A Scrollview Doesn't Work?"