dytlabs/Cook-It-Android-XML-Template

android.view.InflateException: Binary XML file line #0

Closed this issue · 1 comments

Dear developer,
Having an issue when I want to run this on api 17.
Following error occurs: do you have any idea?

FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #0: Error inflating class TextView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at com.appwiz.cookit.adapter.RecipeAdapter.onCreateViewHolder(RecipeAdapter.java:58)
at com.appwiz.cookit.adapter.RecipeAdapter.onCreateViewHolder(RecipeAdapter.java:24)
at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6519)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5706)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5589)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5585)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2231)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1518)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:610)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3719)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3436)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3988)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1172)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1670)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1528)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1441)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1670)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1528)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1441)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
at android.view.View.layout(View.java:14118)
at android.view.ViewGroup.layout(ViewGroup.java:4467)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2183)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1947)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4872)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
at android.view.Choreographer.doCallbacks(Choreographer.java:5

For more information:

https://stackoverflow.com/questions/35761636/is-it-possible-to-use-vectordrawable-in-buttons-and-textviews-using-androiddraw

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
Drawable leftDrawable = AppCompatResources.getDrawable(this, R.drawable.ic_time);
tv_time.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null);

        leftDrawable = AppCompatResources.getDrawable(this, R.drawable.ic_favorite);
        tv_love.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null);

        leftDrawable = AppCompatResources.getDrawable(this, R.drawable.ic_comments);
        tv_comments.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null);
    }
    else
    {
        //Safely create our VectorDrawable on pre-L android versions.
        Drawable leftDrawable = VectorDrawableCompat.create(this.getResources(), R.drawable.ic_time, null);
        tv_time.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null);

        leftDrawable = VectorDrawableCompat.create(this.getResources(), R.drawable.ic_favorite, null);
        tv_love.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null);

        leftDrawable = VectorDrawableCompat.create(this.getResources(), R.drawable.ic_comments, null);
        tv_comments.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null);
    }