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

نشناختن FrameLayout در گوشی

سوال

Salar82    435

سلام

برنامه ای که نوشتم، بخوبی و بدون هیچگونه مشکلی رو شبیه ساز اندروید 7 اجرا میشه. اما وقتی رو گوشی (بازم اندروید 7 هم حالت release و هم دیباگ) اجرا میکنم، از inflater مربوط به لایوت زیر که Framelayout هست ایراد میگیره: ( متن ارور هم خط 14 رو نشون میده)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/iv_auto_image_slider"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY" />

    <FrameLayout -------------------------------------------------------> line 14 error
        android:id="@+id/fl_shadow_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@drawable/bg_overlay">

        <TextView
            android:id="@+id/tv_auto_image_slider"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="25dp"
            android:padding="6dp"
            android:textColor="#FFF"
            android:textSize="15sp" />

    </FrameLayout>

</FrameLayout>

 

اینم از ارور بی معنیش :) :

android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class <unknown>

خطی که ایراد میگیره:

	@Override
	Laypublic SliderAdapterVH onCreateViewHolder(ViewGroup parent) {
        LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
        View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item, null); ------> error

        return new SliderAdapterVH(view);
    }

 

و در نهایت ارور کامل:

 android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class <unknown>
        at android.view.LayoutInflater.inflate(LayoutInflater.java:558)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:434)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
        at ir.vegetable.ash.ImageSlider.SliderAdapter.onCreateViewHolder(SliderAdapter.java:44)
        at ir.vegetable.ash.ImageSlider.SliderAdapter.onCreateViewHolder(SliderAdapter.java:17)
        at com.smarteist.autoimageslider.SliderViewAdapter.instantiateItem(SliderViewAdapter.java:33)
        at com.smarteist.autoimageslider.InfiniteAdapter.InfinitePagerAdapter.instantiateItem(InfinitePagerAdapter.java:77)
        at com.smarteist.autoimageslider.SliderPager.addNewItem(SliderPager.java:998)
        at com.smarteist.autoimageslider.SliderPager.populate(SliderPager.java:1146)
        at com.smarteist.autoimageslider.SliderPager.populate(SliderPager.java:1080)
        at com.smarteist.autoimageslider.SliderPager.onMeasure(SliderPager.java:1629)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at androidx.cardview.widget.CardView.onMeasure(CardView.java:260)
        at android.view.View.measure(View.java:18930)
        at androidx.constraintlayout.widget.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:1227)
        at androidx.constraintlayout.widget.ConstraintLayout.onMeasure(ConstraintLayout.java:1572)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1486)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:765)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:647)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1486)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:765)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:647)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
        at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2705)
        at android.view.View.measure(View.java:18930)
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2153)
        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1247)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1483)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1138)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6227)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:884)
        at android.view.Choreographer.doCallbacks(Choreographer.java:696)
        at android.view.Choreographer.doFrame(Choreographer.java:631)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:870)
        at android.os.Handler.handleCallback(Handler.java:743)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:150)
        at android.app.ActivityThread.main(ActivityThread.java:5546)
    	at java

 

واقعا مشکلش رو نمیتونم درک کنم.

پیشاپیش از راهنمایی همگی متشکرم

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


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

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

پست های پیشنهاد شده

  • 0
در 18 دقیقه قبل، Salar82 گفته است :

ممنون ولی بازم نشد.

 

فک کنم یه چیزی پیدا کردم؛ نویسنده کتابخونه، برای اینکه به اسلایدر، سایه بده، یه ریسورس به اسم bg_overlay.xml رو تو پوشه drawable-v24 گذاشته:

 

اما این فایل، تو پوشه drawable نیست و وقتی با شبیه ساز که Api 25 هست، مشکلی نداره؛ اما وقتی با گوشی Api 23 بازش میکنم، ارور میده که فک کنم مشکلش از این باشه.

درسته؟

در صورتی که از این ریسورس استفاده بشه و نسخه api چک نشه بله قطعا به خطا میخوره.

  • تشکر 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 2 ساعت قبل، Salar82 گفته است :

<FrameLayout -------------------------------------------------------> line 14 error android:id="@+id/fl_shadow_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="@drawable/bg_overlay">

اینو خودتون کامنت کردین یا اینجا اینجوریه؟

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
Salar82    435
در 4 ساعت قبل، محمدرضا شاهپیری گفته است :

اینو خودتون کامنت کردین یا اینجا اینجوریه؟

نه، اینجا اینطوریه.

 

نمیدونم چرا رو گوشی نصب نمیشه. سورس آداپتر و لایوت  مال اینه:

https://github.com/smarteist/Android-Image-Slider

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 9 ساعت قبل، Salar82 گفته است :

نه، اینجا اینطوریه.

 

نمیدونم چرا رو گوشی نصب نمیشه. سورس آداپتر و لایوت  مال اینه:

https://github.com/smarteist/Android-Image-Slider

اول اینکه کدهاتونو بدون هیچ چیز اضافه ای بزارید. الان اومدین و کامنت گذاشتین معلوم نیست اشتباه از کجاس.خط زیر رو هم تغییر بدین 

 View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item, null);

به 

View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item,parrent, null);

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
Salar82    435
در 3 ساعت قبل، محمدرضا شاهپیری گفته است :

کدهاتونو بدون هیچ چیز اضافه ای بزارید

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/iv_auto_image_slider"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY" />

    <FrameLayout
        android:id="@+id/fl_shadow_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@drawable/bg_overlay">

        <TextView
            android:id="@+id/tv_auto_image_slider"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="25dp"
            android:padding="6dp"
            android:textColor="#FFF"
            android:textSize="15sp" />

    </FrameLayout>

</FrameLayout>

 

آداپتر:

	@Override
    public SliderAdapterVH onCreateViewHolder(ViewGroup parent) {
        LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
        View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item,parent);

        return new SliderAdapterVH(view);
    }

 

در 3 ساعت قبل، محمدرضا شاهپیری گفته است :

به 


View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item,parrent, null);

از این خط هم ارور گرفت و null رو حذف کردم

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 4 دقیقه قبل، Salar82 گفته است :

 

آداپتر:

 

از این خط هم ارور گرفت و null رو حذف کردم

ببخشید من حواسم نبود. به شکل زیر بنویسید

View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item,parrent, false);

البته توی لیوت من مشکلی نمیبینم. برای اطمینان از سالم بودن لیوت یه اکتیویتی ایجا کنید و این لیوت رو بهش بدید با دستور setcontentview ببینید اکتیوتی اجرا میشه یا نه

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
Salar82    435
در 2 دقیقه قبل، محمدرضا شاهپیری گفته است :

ببخشید من حواسم نبود. به شکل زیر بنویسید


View view = layoutInflater.inflate(R.layout.main_image_slider_layout_item,parrent, false);

ممنون ولی بازم نشد.

 

فک کنم یه چیزی پیدا کردم؛ نویسنده کتابخونه، برای اینکه به اسلایدر، سایه بده، یه ریسورس به اسم bg_overlay.xml رو تو پوشه drawable-v24 گذاشته:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="90"
        android:endColor="@android:color/transparent"
        android:startColor="#000000" />
</shape>

 

اما این فایل، تو پوشه drawable نیست و وقتی با شبیه ساز که Api 25 هست، مشکلی نداره؛ اما وقتی با گوشی Api 23 بازش میکنم، ارور میده که فک کنم مشکلش از این باشه.

درسته؟

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...