ورود

View Full Version : مشکل با اسکرول در listview و ثابت ماندن عکس بالای ان



hno2005
جمعه 30 خرداد 1393, 11:36 صبح
سلام دوستان
این کد من :




<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<ImageView
android:id="@+id/Image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/abc" />

<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>


مشکل این هست که مثلا اگه 50 تا ایتم در listVIew باشه و اسرول بدیم پایین ، عکس بالا ثابت باقی میمونه و ایتمهای داخل listView اسکرول میخورن .
میخواهم طوری باشه که موقع اسکرول دادن کل صفحه اسکرول بخوره و اگه اسکرول پایین اومد ، دیگه عکس بالا نمایش پیدا نکنه .
کدها رو داخل ScrollView هم قرار دادم ولی تنها یک ایتم از listView رو نمایش داد .
ممنون میشم راهنمایی کنید
با تشکر

harani
جمعه 30 خرداد 1393, 12:30 عصر
کدها رو داخل ScrollView هم قرار دادم ولی تنها یک ایتم از listView رو نمایش داد .


برای رفع این مشکل از ایم متد میتونی استفاده کنی :


public static void updateListViewHeight(ListView myListView) {
ListAdapter myListAdapter = myListView.getAdapter();
if (myListAdapter == null) {
return;
}
// get listview height
int totalHeight = 0;
int adapterCount = myListAdapter.getCount();
for (int size = 0; size < adapterCount; size++) {
View listItem = myListAdapter.getView(size, null, myListView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
// Change Height of ListView
ViewGroup.LayoutParams params = myListView.getLayoutParams();
params.height = totalHeight
+ (myListView.getDividerHeight() * (adapterCount - 1)) + 60;
myListView.setLayoutParams(params);
}