Menu
  • HOME
  • TAGS

android.view.InflateException: Binary XML file line #13: Error inflating class

Tag: android,xml,android-layout

I am facing the above error on an app that used to work fine as of few months ago, with no changes since then. The only change is updated Android studio/gradle

The stacktrace

06-18 21:37:52.817  27995-27995/com.XYZ.carnival.debug E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.XYZ.carnival.debug, PID: 27995
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.XYZ.carnival.debug/com.XYZ.carnival.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class <unknown>
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)
            at android.app.ActivityThread.access$900(ActivityThread.java:177)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5942)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
     Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class <unknown>
            at android.view.LayoutInflater.createView(LayoutInflater.java:640)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
            at com.XYZ.carnival.drawer.Account.AccountViewController.initAdapter(AccountViewController.java:69)
            at com.XYZ.carnival.drawer.Account.AccountViewController.initViews(AccountViewController.java:53)
            at com.XYZ.carnival.drawer.Account.AccountViewController.<init>(AccountViewController.java:43)
    ....

The XML in question is

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#93928c"
    android:orientation="vertical"
    android:paddingBottom="5dp"
    android:paddingLeft="22dp"
    android:paddingRight="20dp"
    android:paddingTop="5sp">

    <com.XYZ.carnival.widgets.CrTextView
        android:id="@+id/tv_account_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="bottom"
        android:minHeight="38dp"
        android:text="MichaelCARN_2839ef1524 Jon Siegal"
        android:textColor="@color/white"
        android:textSize="22sp"
        android:textStyle="bold"
        app:font="@string/lusitana" />
</LinearLayout>

And CrTextView

package com.XYZ.carnival.widgets;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

import com.XYZ.carnival.utils.TypefaceManager;

public class CrTextView extends TextView {

    public static final String TAG = CrTextView.class.getSimpleName();

    public CrTextView(Context ctx) {
        this(ctx, null);
    }

    public CrTextView(Context ctx, AttributeSet attrs) {
        this(ctx, attrs, android.R.attr.textViewStyle);
    }

    public CrTextView(Context ctx, AttributeSet attrs, int defStyle) {
        super(ctx, attrs, defStyle);
        init(ctx, attrs, defStyle);
    }

    private void init(Context ctx, AttributeSet attrs, int defStyle) {
        if (isInEditMode()) return;
        TypefaceManager.applyFont(this, attrs, defStyle);
    }

}

The difference between this and the myriad other questions on this error appears to be that the line refers to a custom widget. If i were to remove this widget, the crash doesnt occur here anymore, but occurs at the next usage of this widget.. and (I suspect) so on..

Any idea into this? We have tried to clean and rebuild project as well..

Best How To :

Try to remove app:font="@string/lusitana line. and try How to change fontFamily of TextView in Android to change font style.

Problems implementing ViewHolder pattern

android,design-patterns

Try like this... public View getView(int poisition, View convertView , ViewGroup parent) { ViewHolder crimeHolder = null; //If we weren't given a view, inflate one if (convertView == null) { convertView = getActivity().getLayoutInflater().inflate(R.layout.list_item_crime, null); crimeHolder = new ViewHolder(); crimeHolder.titleTextView = (TextView)convertView.findViewById(R.id.listItemTitleTextView); crimeHolder.dateTextView = (TextView)convertView.findViewById(R.id.listItemDateTextView); crimeHolder.solvedCheckBox =...

android imageView scale

android,imageview,scale

Try this code. adjustViewBounds attribute makes the ImageView the same size as image that you put in it. <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" /> If you need specific width or height change the wrap_content value....

How to set speaker phone off when the app is killed by the “Recent App drawer”

android,android-audiomanager,ondestroy

Use a service like: public class FirstService extends Service { private AudioManager audioManager; @Override public IBinder onBind(Intent arg0) { return null; } @Override public void onDestroy() { super.onDestroy(); audioManager.setSpeakerphoneOn(false); //Turn of speaker } } public void onDestroy () Added in API level 1 Called by the system to notify a...

C# XML: System.InvalidOperationException

c#,xml

Is "User Info" and "Course Data" is a different entity. If it is so, I think you may encapsulate them in one entity. XmlTextWriter writer = new XmlTextWriter(path, System.Text.Encoding.UTF8); writer.WriteStartDocument(true); writer.Formatting = Formatting.Indented; writer.Indentation = 4; writer.WriteStartElement("My Entity"); /* It is a biggest one*/ writer.WriteStartElement("User Info"); writer.WriteStartElement("Name"); writer.WriteString(userName); writer.WriteEndElement(); writer.WriteStartElement("Tutor...

Android set clickable text to go one fragment to another fragment

java,android,android-fragments,spannablestring

If LoginActivity is a fragment class then it would be okay is you use setOnClickListener on textview. But for fragment change you have to change Intent to fragmentTransaction, Use something like, textview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getFragmentManager().beginTransaction().replace(R.id.container, new LoginActivity() ).addToBackStack("").commit(); }); But, if you want to...

Keep HashMap with object data while app is idle - Android

android,android-activity

May be the activity is again loading that is onCreate() is called. So save the state and restore it. Use onSaveInstanceState() and onRestoreInstanceState(). Let me know whether it worked or not.

Floating Action Button in Xamarin.Forms

android,xamarin,monodroid,xamarin.forms,floating-action-button

Before the official support library came out I ported the FAB over. There is now a Xamarin.Forms sample in my GitHub repo that you can use: https://github.com/jamesmontemagno/FloatingActionButton-for-Xamarin.Android...

Get current latitude and longitude android

java,android,gps,geolocation,location

See my post at http://gabesechansoftware.com/location-tracking/. The code you're using is just broken. It should never be used. The behavior you're seeing is one of the bugs- it doesn't handle the case of getLastLocation returning null, an expected failure. It was written by someone who kind of knew what he was...

Add a ListView or RecyclerView to new NavigationView

android,listview,recyclerview,navigationview

You can just nest the ListView or RecyclerView inside the NavigationView. <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity"> <FrameLayout...

Action Bar activity is closed

android,android-actionbar

Nag and Maisse already provided you proper answers but if these answers not working try this. Check in style.xml to know which theme are you using for your activity. <!-- Base application theme. --> <style name="AppTheme" parent="android:Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> to <!-- Base application theme. -->...

Get element starting with letter from List

java,android,list,indexof

The indexOf method doesn't accept a regex pattern. Instead you could do a method like this: public static int indexOfPattern(List<String> list, String regex) { Pattern pattern = Pattern.compile(regex); for (int i = 0; i < list.size(); i++) { String s = list.get(i); if (s != null && pattern.matcher(s).matches()) { return...

How to resolve Out of Memory Error on Bitmap in Android?

android,android-intent,android-activity,bitmap

use following method..... **************************************************** Bitmap bm = ShrinkBitmap(imagefile, 300, 300); image.setImageBitmap(bm); Bitmap ShrinkBitmap(String file, int width, int height) { BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); bmpFactoryOptions.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeFile(file, bmpFactoryOptions); int heightRatio =(int)Math.ceil(bmpFactoryOptions.outHeight/(float)height); int widthRatio =...

how to add menu items to action bar in more than 30 activities

android,android-activity,android-studio,menu,menuitem

Option A A base Activity class that implements the logic for the menu items - in this case all 30 of your Activities should extend the base Activity. This approach has the serious limitation that it forces you to extend a class even though you may need to extend another...

Dagger 2 Custom Scope for each Fragment

android,android-fragments,dagger-2

Your understanding is correct. The named scopes allow you to communicate intention, but they all work the same way. For scoped provider methods, each Component instance will create 1 instance of the provided object. For unscoped provider methods, each Component instance will create a new instance of the provided object...

Facebook Android API asks for additional permission

android,facebook,facebook-graph-api

Use the loginManager to add more permission. you can add it on click button or on create view or fragment LoginManager.getInstance().logInWithReadPermissions( fragmentOrActivity, Arrays.asList("user_friends")); You can also get AccessToken via following if needed after getting new permission AccessToken.getCurrentAccessToken() ...

adapter.notifyDataSetChanged() not working when I update ArrayList

android,android-listview

I have one way Create refresh method in your Adapter like public void refresh(ArrayList<Aviso> itemsw) { this.items = itemsw; notifyDataSetChanged(); } Now you just called this method from your Activity Aviso aviso = new Aviso(); aviso.setTitle("MMMMMMMMMMMMMMMMMMMMMM"); aviso.setDescription("Deskribapena"); aviso.setPubDate("Wed, 19 Mar 2016 12:40:00 GMT"); aviso.setDcDate("2016-03-19T12:40:00Z"); avisosList.add(aviso); adapter.refresh(avisosList); EDIT: To add the...

Load XML to list using LINQ [duplicate]

c#,xml,linq

Make a base class which will have id,x,y,z, and have Vendors,Bankers and Hospitals extend it. Then you can have a collection of the base class, and add to it the classes that inherit from it....

why is Android app publishing taking several days [on hold]

android,google-play,publishing

here is detail provided by the google and for more details http://www.appmakr.com/blog/how-long-app-approved/ https://somethingididnotknow.wordpress.com/2014/03/11/how-long-does-it-take-for-the-google-play-store-to-publish-my-app-in-beta/ Android application approval process in playstore ...

How to restrict file copying shared using Content Provider in Android?

android,security

No, sorry. If you hand bytes over to a third-party app, that third-party app can do what it wants with those bytes. So only solution is to use some in-app pdf reader right? This will not completely stop people from copying your PDFs. However, it will limit attacks to those...

Android Implicit Intent for Viewing a Video File

java,android,android-intent,uri,avd

Change your onClick method to below code. You should give the option to choose the external player. @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("https://youtu.be/jxoG_Y6dvU8"), "video/*"); startActivity(Intent.createChooser(intent, "Complete action using")); } ...

Set value for Spinner with custom Adapter in Android

android,dynamic,android-arrayadapter,android-spinner

@Haresh Chhelana example is good, However if you want to show both name and code in spinner after selecting, check this out. List<Map<String, String>> items = new ArrayList<Map<String, String>>(); for (int i = 0; i < JA.length(); i++) { json = JA.getJSONObject(i); mapData = new HashMap<String, String>(); mapData.put("name", json.getString("Name")); mapData.put("code",...

How to calculate max string-length of a node-set?

xml,xslt,xslt-1.0,libxslt

<xsl:variable name="max_a_width"> <xsl:for-each select="data"> <xsl:sort select="string-length(@a)" data-type="number" /> <xsl:if test="position() = last()"> <xsl:value-of select="string-length(@a)" /> </xsl:if> </xsl:for-each> </xsl:variable> This is the general method of picking from an ordered list of derived values in XSLT 1.0. If you want to pick the minimum/maximum from actual (natively sortable) values, you can take...

Action view intent does not work

android,search-suggestion,custom-search-provider

Intent action names are case sensitive. Use this: android.intent.action.VIEW ...

custom arraylist get distinct

java,android

It's not possible to do this using only the ArrayList. Either implement your own method which can be as simple as: private List<mystatistik> getAllUniqueEnemies(List<mystatistik> list){ List<mystatistik> uniqueList = new ArrayList<mystatistik>(); List<String> enemyIds = new ArrayList<String>(); for (mystatistik entry : list){ if (!enemyIds.contains(entry.getEnemyId())){ enemyIds.add(entry.getEnemyId()); uniqueList.add(entry); } } return uniqueList; } Or...

Twitter4j - cannot resolve method - setUsessl(boolean)

android,android-studio,twitter4j

Try to use the following configuration: ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setOAuthAuthenticationURL("https://api.twitter.com/oauth/request_token"); cb.setOAuthAccessTokenURL("https://api.twitter.com/oauth/access_token"); cb.setOAuthAuthorizationURL("https://api.twitter.com/oauth/authorize"); cb.setOAuthRequestTokenURL("https://api.twitter.com/oauth/request_token"); cb.setRestBaseURL("https://api.twitter.com/1.1/"); cb.setOAuthConsumerKey(consumerKey);...

BitmapFont class does not have getBound(String) method

java,android,libgdx

After the API 1.5.6 we have a different way to get the String bound. try this GlyphLayout layout = new GlyphLayout(); layout.setText(bitmapFont,"text"); float width = layout.width; float height = layout.height; and it's not recommended to create new GlyphLayout on each frame, create once and use it. ...

Is there any sdk to log exceptions, events and errors in production app?

android,logging,error-handling,sdk,production

Flurry analytics crashlytics They will give you the logs and errors in production app..I think this will suits you well...

Crop does not work for gallery images

android,image,crop

Try this Working code Buttonclick to take camera dialog.show(); Add this inside Oncreate() captureImageInitialization(); try this it will work // for camera private void captureImageInitialization() { try { /** * a selector dialog to display two image source options, from * camera ‘Take from camera’ and from existing files ‘Select...

Contexts and callbacks from asynchronous tasks

android,android-fragments,asynchronous

getActivity() returning null is a perfectly valid scenario which you should expect as well. This happens because by creating anonymous Handler in your onCreateView you're referencing Fragment which was already detached from Activity (therefore getActivity() returns null). Same goes for your AsyncTask - if you're creating it as an anonymous...

Getting particular view from expandable listview

java,android,listview,android-fragments,expandablelistview

You shouldn't pass your view item form a fragment to an other. You should retrieve the object associated with your group view, pass this object to your second/edition fragment. You can use setTargetFragment(...) and onActivityResult(...) to send the modified text from your second to your first fragment. And then you...

Convert contents of an XmlNodeList to a new XmlDocument without looping

c#,xml,xpath,xmldocument,xmlnodelist

If you're happy to convert it into LINQ to XML, it's really simple: XDocument original = ...; // However you load the original document // Separated out for clarity - could be inlined, of course string xpath = "//Person[not(PersonID = following::Person/PersonID)]" XDocument people = new XDocument( new XElement("Persons", original.XPathSelectElements(xpath) )...

Notification whenever a new topic is created on mosquitto

android,mqtt,mosquitto,libmosquitto

A topics is only "created" when something is published to it the first time. There is no mechanism to detect this apart from subscribing to a wildcard topic that would match all topics of interest and triggering processing when the first message is received on a given topic. In the...

Android programming, draw a rectangle with specific coordinates

android

http://android.okhelp.cz/draw-rect-android-basic-example/ http://alvinalexander.com/android/how-to-draw-rectangle-in-android-view-ondraw-canvas canvas.drawColor(Color.CYAN); Paint p = new Paint(); // smooths p.setAntiAlias(true); p.setColor(Color.RED); p.setStyle(Paint.Style.STROKE); p.setStrokeWidth(4.5f); canvas.drawRect(10, 10, 30, 30, p); ...

Android String if-statement

java,android,string

Correct me if I'm wrong. If you're saying that your code looks like this: new Thread(new Runnable() { public void run() { // thread code if (ready.equals("yes")) { // handler code } // more thread code }).start(); // later on... ready = "yes"; And you're asking why ready = "yes"...

Parsing XML array using Jquery

javascript,jquery,xml,jquery-mobile

EMI and CustomerName are elements under json so you can use .find() to find those elements and then text() to get its value. $(data).find("json").each(function (i, item) { var heures = $(item).find("CustomerName").text(); var nbr = $(item).find("EMI").text(); console.log(heures); }); .attr() is used to get the attribute value of an element like in...

Is there any way to use a pre-existing database from Xamarin without copying it from Assets?

android,xamarin,xamarin.forms

You don't want to use it from assets, even if you could, because assets is a compressed read only file, part of your installation. You can't write updates into it, which kills 90% of database use. And its inefficient for reading as its zipped up. So you really do need...

Passing dynamic string resource to “setText()”

android

Try like this: Create a global variable like: private String name; then in "onCreateViewHolder" write like this: name= parent.getResources().getString(R.string.mac); now, in "onBindViewHolder" write like this: device.name.setText(name + data.macAddress); ...

XSLT How to remove style from div and td tags

xml,xslt

To remove some nodes start with the identity transformation template <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> then add an empty template for the nodes to be removed: <xsl:template xmlns:xhtml="http://www.w3.org/1999/xhtml" match="xhtml:div/@style | xhtml:li/@style | xhtml:td/@style | xhtml:span/@style"/> ...

Fixed element in android?

android,xml,android-fragments

You need a FrameLayout. In a FrameLayout, the children are overlapped on top of each other with the last child being at the topmost. activity_main.xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:fab="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"...

Collect strings after a foreach loop

c#,xml,foreach

Yep, you need to do the adding within the loop. I'd use a List<string> as it supports LINQ: XmlNodeList skillNameNodeList=SkillXML.GetElementsByTagName("name"); List<string> skills = new List<string>(); foreach (XmlNode skillNameNode in skillNameNodeList) { skills.Add(skillNameNode.Attributes["value"].Value); } ...

Can I install 2 or more Android SDK when using Eclipse

java,android,eclipse,sdk,versions

There shouldn't be any problem if you use the latest SDK version ; actually, this is recommended. However, make sure to set the correct "Target SDK", i.e. the highest android version you have successfully tested your app with, and the "Minimum Required SDK" as well....

Blank screen on GridView

android,arrays,gridview

I executed ur code. Just add numberView.setTextColor(Color.BLACK); and it will work! :)...

Android custom calendar view disable specific dates

android,calendarview

Include CalendarPickerView in your layout XML. <com.squareup.timessquare.CalendarPickerView android:id="@+id/calendar_view" android:layout_width="match_parent" android:layout_height="match_parent" /> In the onCreate of your activity/dialog or the onCreateView of your fragment, initialize the view with a range of valid dates as well as the currently selected date. Calendar nextYear = Calendar.getInstance(); nextYear.add(Calendar.YEAR, 1); CalendarPickerView calendar = (CalendarPickerView) findViewById(R.id.calendar_view);...

how does android ImageView resize my image?

android

I'm not sure what are you trying to do, are you trying to have the imageview to adapt to your image's size or are you trying to have your image view at a fixed size? When the image is shown on a xhdpi screen will the image be scaled to...

Android Espresso: Test running failed. No test results Empty test suite. Why?

android,android-espresso

Note that you are using the deprecated ActivityInstrumentationTestCase2 and that TestCases like ActivityInstrumentationTestCase2 or ServiceTestCase are deprecated in favor of ActivityTestRule or ServiceTestRule. So try switchwing to using the rules, which is actually pretty straightforward. Also, be sure to use the correct annotations. Check my other answer here to get...

Why i get can not resolve method error in class android?

android,json

You didn't create setName() method in Person class. public class Person { private String name; private String country; private String twitter; //getters & setters.... public void setName(String pName) { this.name = pName; } public void getName() { return this.name; } } ...

Unfortunately, (My app) has stopped. Eclipse Android [duplicate]

java,android,eclipse,adt

In your MainActivity.java at line no 34 you are trying to initialize some widget that is not present in your xml layout which you have set it in your setContentView(R.layout.... That;s why you are geting nullpointerexception. EDIT: change your setContentView(R.layout.activity_main) to setContentView(R.layout.fragment_main)...

error: cannot find symbol class AsyncCallWS Android

java,android,web-services

On the link you post, I see a class like below. Create this class in your project before using it. private class AsyncCallWS extends AsyncTask<String, Void, Void> { @Override protected Void doInBackground(String... params) { Log.i(TAG, "doInBackground"); getFahrenheit(celcius); return null; } @Override protected void onPostExecute(Void result) { Log.i(TAG, "onPostExecute"); tv.setText(fahren +...

Error when building an XDocument

c#,xml,linq,xpath,linq-to-xml

You can ignore pretty much all your code, the issue is just this: XDocument people = new XDocument("Persons"); You can't create an XDocument containing a string, you need to add an element: XDocument people = new XDocument( new XElement("Persons", original.XPathSelectElements(xpathFilterDups))); ...