8

I have an app which has fragment and image button on that. The problem is it's working on and above 5.0 but not below 5.0. The min sdk version is 17.

Not getting what's wrong here. I am getting 2 exceptions.

One is RuntimeException for image button. Second is ResourceNotFoundException for fab selector file.

Log : 1st exception --

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.siddhi.timetablelayout/com.example.siddhi.timetablelayout.MainActivity}: android.view.InflateException: Binary XML file line #16:

Error inflating class ImageButton

2nd exception --

Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class ImageButton

On line :

View view = inflater.inflate(R.layout.fragment_main, container, false); of main fragment.

Main fragment :

public class MainFragment extends Fragment {

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private CharSequence Titles[]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
    private int Numboftabs =7;
    private SlidingTabLayout tabs;
    private Intent i;

    public MainFragment() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_main, container, false);
        setupUI(view);
        return view;
    }
    void setupUI(View view)
    {
        FrameLayout fab = (FrameLayout)view.findViewById(R.id.main_fab);
        ImageButton imageButton = (ImageButton)view.findViewById(R.id.imgbtn_fab);


        imageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String day;
                Boolean editMode = false;

                if(tabs.getCurrentTab() == 0)
                {
                    day = "Mon";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);

                }
                else if(tabs.getCurrentTab() == 1)
                {
                    day = "Tue";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);
                }
                else if(tabs.getCurrentTab() == 2)
                {
                    day = "Wed";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);
                }
                else if(tabs.getCurrentTab() == 3)
                {
                    day = "Thu";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);
                }

                else if(tabs.getCurrentTab() == 4)
                {
                    day = "Fri";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);
                }
                else if(tabs.getCurrentTab() == 5)
                {
                    day = "Sat";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);
                }

                else if(tabs.getCurrentTab() == 6)
                {
                    day = "Sun";
                    i = new Intent(getActivity(),AddEventActivity.class);
                    i.putExtra("day",day);
                    i.putExtra("EditMode",editMode);
                    startActivity(i);
                }
                Log.d("tab",tabs.getCurrentTab() + "");
            }
        });


        mAdapter =  new TabsPagerAdapter(getFragmentManager(),Titles,Numboftabs);
        viewPager = (ViewPager)view.findViewById(R.id.pager);
        viewPager.setAdapter(mAdapter);
        tabs = (SlidingTabLayout)view.findViewById(R.id.tabs);
        tabs.setDistributeEvenly(true);
        tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
            @Override
            public int getIndicatorColor(int position) {
                return getResources().getColor(R.color.tab_scroll_color);
            }
        });
        tabs.setViewPager(viewPager);
    }

}

Fab selector :

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

    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="?attr/colorAccent" />
        </shape>
    </item>

    <item android:state_focused="true">
        <shape android:shape="oval">
            <solid android:color="?attr/colorAccent" />
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <solid android:color="?attr/colorAccent" />
        </shape>
    </item>

</selector>

Fragment main :

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.adgatemedia.offerwallsdk.fragments.MainFragment">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <utils.SlidingTabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:elevation="2dp"
            android:background="?attr/colorPrimary"
            android:layout_alignParentTop="true" />

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:layout_below="@+id/tabs" />

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_gravity="bottom|end">

            <include layout="@layout/myfab"/>
        </LinearLayout>
    </RelativeLayout>
</FrameLayout>

Fab :

   <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_fab"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_gravity="bottom|end">

    <View
        android:id="@+id/myfab_shadow"
        android:layout_width="72dp"
        android:layout_height="72dp"
        android:layout_gravity="center"
        android:background="@drawable/fab_shadow"
        android:focusable="false" />

    <ImageButton
        android:id="@+id/imgbtn_fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/fab_selector"
        android:cropToPadding="true"
        android:padding="10dp"
        android:src="@drawable/ic_add_white_36dp"
        android:stateListAnimator="@animator/fab_elevation_selector" />

</FrameLayout>

Full stack trace :

 FATAL EXCEPTION: main
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.siddhi.timetablelayout/com.example.siddhi.timetablelayout.MainActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class ImageButton
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:141)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5041)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:  Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class ImageButton
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.example.siddhi.timetablelayout.MainFragment.onCreateView(MainFragment.java:33)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.Activity.performStart(Activity.java:5114)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5041) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:  Caused by: android.content.res.Resources$NotFoundException: File res/drawable/fab_selector.xml from drawable resource ID #0x7f020081
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.content.res.Resources.loadDrawable(Resources.java:1953)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.View.<init>(View.java:3330)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.widget.ImageView.<init>(ImageView.java:114)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.widget.ImageButton.<init>(ImageButton.java:87)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:59)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:55)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:107)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:171)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.example.siddhi.timetablelayout.MainFragment.onCreateView(MainFragment.java:33) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.Activity.performStart(Activity.java:5114) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5041) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:  Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.content.res.TypedArray.getColor(TypedArray.java:326)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:967)
02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime:     at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)

Can you please let me know what's wrong here?

Mustansar Saeed
  • 2,730
  • 2
  • 22
  • 46
Sid
  • 2,792
  • 9
  • 55
  • 111

6 Answers6

8

This exception

02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.content.res.TypedArray.getColor(TypedArray.java:326) 02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:967) 02-17 05:42:39.445 3247-3247/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)

leads to the conclusion that this line <solid android:color="?attr/colorAccent" /> in fab_selector is the culprit. Try to change color to HEX value and then test.

hope this helps.

Mustansar Saeed
  • 2,730
  • 2
  • 22
  • 46
  • As i have themes in my application so I have not given hex value. and it runs on 5.0 and above. why so? @Mustansar Saeed – Sid Feb 17 '16 at 06:20
  • It may be the case that Post Lollipop APIs handle these operations but pre-lollipop does not contain these functions. Just a wild guess :) – Mustansar Saeed Feb 17 '16 at 06:21
  • This is not really an "answer". It should be possible to use this theme attribute as shown if it's defined. – Doug Stevenson Feb 17 '16 at 06:23
  • But then how can I change color of fab on theme change ? If I provide hex value it wont change right? @Mustnsar Saeed – Sid Feb 17 '16 at 06:24
  • @DougStevenson: Sid can confirm if it solved his problem. – Mustansar Saeed Feb 17 '16 at 06:25
  • @Sid: You can create different resource files for Pre-Lollipop and Post-Lollipop for the `colors` and then use color from those files – Mustansar Saeed Feb 17 '16 at 06:25
  • great this worked... But I dint get how can I use different resource file? The fab selector would only be one and if I have 3 themes then 3 different accent colors..How to apply to this? @MustansarSaeed – Sid Feb 17 '16 at 06:44
  • and same I have applied to toolbar. How dose that work and not this?@MustansarSaeed – Sid Feb 17 '16 at 06:52
  • create different `colors.xml` files for `values`, `values-v14` and `values-v21` for pre and post lollipop devices – Mustansar Saeed Feb 17 '16 at 07:06
4

Yes. You need to create a folder like 'drawable-v21'.

4

I also faced this problem but I solved it.

In my case the error was that the png image I imported for ImageButton was saved in drawable-v24 automatically by android studio . I copied the png from there and pasted it into drawable folder.

Binil George
  • 266
  • 3
  • 10
0

this being a top result on google I wanted to share what solved the same error for me (although not the same issue as above)

  • make sure build tools version is up to date
  • I had the combination of an vector src drawable and a elevation value (API 21+ only) which seemed to trip it up. I made a separate layout for v21 to have the elevation value (but kept the vector drawable everywhere) and this solved it for me
Sameer J
  • 226
  • 3
  • 13
0

The format of the image.png was not OK. My solution: I installed greenshot on my PC to grab an image from my screen https://getgreenshot.org/ Then I saved the image as png file in my res/drawable. This worked for me

frans
  • 17
  • 3
0

Solved mine (rounded_corner_image_view.xml (v24)):

android:background="@drawable/rounded_corner_image_view"

My background drawable was v24. Created a lower drawable and viola

Elikill58
  • 4,050
  • 24
  • 23
  • 45