Wednesday 11 July 2012

scrolling whole screen including ListView in android


Add this class in ur project
//**** class Utility start****
package com.umer;
import android.view.View;
import android.view.View.MeasureSpec;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;
public class Utility
{
public static void setListViewHeightBasedOnChildren(ListView listView)
{
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null)
{
return;
}
int totalHeight = 0;
int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
for (int i = 0; i < listAdapter.getCount(); i++)
{
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1))+40;
listView.setLayoutParams(params);
listView.requestLayout();
}
}
//**** class Utility end****
//Add this code where you are using ur adapter
try{
ImageAdapter imageAdapter=new ImageAdapter(MyReg1.this, R.layout.my_reg_list, mylist);
bar.setVisibility(View.INVISIBLE);
list.setAdapter(imageAdapter);
list.setScrollingCacheEnabled(false);
Utility.setListViewHeightBasedOnChildren(list);
}
 
catch(Exception exp){
Log.d("Image Adapter Exception",exp.toString());
}

No comments:

Post a Comment