بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دريافت ارتفاع يك listview
سلام به همگي. من ميخواستم ببينم چظوري ميتونم ارتفاع يك 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 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .