رفتن به مطلب
  • 0

مشکل بسیار عجیب در اسکرول نشدن


mehran901

سوال

دوستان ی مشکل بسیار حیاتی به وجود اومده واسم از همه دوستان میخوام لطفا کمک کنن

 

داستان به این صورته که : من ی تب هاست دارم داخل یکی از تب ها رو کلا اسکرول میکنم 

2 مشکل پیش میاد 

1- لیست ویوهایی که داخل این تب ( که اسکرول شده ) قرار میگیرن اسکرول نمیشن چون با لمس کردن صفحه اسروکل ویو اسکرول میشه نه لیست ویو های داخلش !

 

2- اون پنل پایین که تو عکس میبینید نصفه میوفته هرکاری میکنم حتی ارتفاع محیط طراحی رو زیاد کردم از ی جایی به بعد تحت هیچ شرایطی پنل نشون داده نمیشه ولی بقیه اجزا نشون داده میشن مثل باتن و ...

 

مستطیل قرمز بالایی لیست ویو داخل تبی رو نشون میده که کلش اسکرول شده این تب 

و مستطیل پایینی پنل نصفه نیمه رو نشون میده 

error2.jpg

 

سورس تمیزی که فقط مشکلو نشون بده ضمیمه کردم لطفا دانلودش کنید 

 

سورس : 

http://s3.picofile.com/file/8208322226/error.zip.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

دوستان شدیدا پی گیر حل ماجرای اسکرول ویو شدم به این نتیجه رسیدم تا حالا این مشکل حل نشده گویا !

 

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

 

با کتابخونه javaobject هرکار کردم ران نشد با اینکه import هاشو هم درآوردم 

از دوستان با سابقه کسی میتونه این مشکلو حل کنه کلا به هر طریقی ؟

اون مشکل پنل نصفه نیمه نشون دادن هم دیگه مسخره ترین چیزی بوده که دیدم تاحالا علتشو کسی میدونه ؟

 

 

 

 

 

Android: put ListView in a ScrollView

 
When I need to use ListView with other controls on the same screen, and it doesn't fit the screen vertically, I wish to get ScrollView over all controls, to scroll entire screen. But, that's the point when "shit happens".

Android core developers say you "must not put ListView inside ScrollView", because of many reasons, one of them - ListView has it's own scroll.

When you try just do it, ListView collapses, and you wish it not to be collapsed at all.

To accomplish that, I use a "hack", measuring and setting the height directly:
 
public class Utility {
    public static void setListViewHeightBasedOnChildren(ListView listView) {
        ListAdapter listAdapter = listView.getAdapter();
        if (listAdapter == null) {
            // pre-condition
            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));
        listView.setLayoutParams(params);
        listView.requestLayout();
    }
}
 
 
Call this function right after you change ListView items, like that:

Utility.setListViewHeightBasedOnChildren(myListView);
Updated 9 Feb. 2011: fixed one nasty bug :) It all works now!

P.S. Original code is written by DougW at stackoverflow.com, I've modified it a bit.
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان پیشنهادتون چیه که اون پنل رو درست نشون بده؟

 

فقط زمانی در ارتفاع مثلا 600 به بعد قرار میگیره این اتفاق میوفته 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...