آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

دريافت ارتفاع يك listview

sadra  10 سال پیش  10 سال پیش
0 0

سلام به همگي. من ميخواستم ببينم چظوري ميتونم ارتفاع يك listView رو اندازه بگيرم؟

خود يه  متد نوشتم به اين مضمون كه:

private int getListViewHeight(ListView listv) {
ListAdapter adapterv = listv.getAdapter();

int listviewHeight = 0;

listv.measure(MeasureSpec.makeMeasureSpec(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));

listviewHeight = listv.getMeasuredHeight() * adapterv.getCount() + (adapterv.getCount() * listv.getDividerHeight());
Log.i("listviewHeight",listviewHeight+"");
Log.i("getMeasuredHeight",listv.getMeasuredHeight()+"");
Log.i("getCount",adapterv.getCount()+"");
Log.i("getDividerHeight",listv.getDividerHeight()+"");
Log.i("getCount*getDividerHeight",(adapterv.getCount() * listv.getDividerHeight())+"");
return listviewHeight;
}
}

و بعدش اومدم گفتم كه:

 	int list_height = getListViewHeight(listcm); 	

 اين كار ميكنه. اما مشكل اينجاست كه رديف ها يا همون Row هاي من ارتفعاشون يكسان نيست. بعضياشون بزرگتر و بعضياشون كوچيكتره.
اين متد مياد ارتفاع Row اولي رو به عنوان شاخص در نظر ميكنه و ضربدر تعداد كل سطر ها ميكنه و ارتفعا رو بدست مياره كه اين محاسب درستي نيست.

حالا ميخواستم بدونم چه متدي استاندارد هست و با چه روش ميشه اينكار كرد كه واسه ليست ويووهايي با رديف هاي با ارتفاع متفاوت درست عمل كه. ممنون

0 0
شما قرار هست چه کاری رو انجام بدی ؟ میتونی به ارتفاع لایه اداپتری که ازش ساخته میشه ارتفاع ثابت بدی (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .