Crash when using simple view in layout
See original GitHub issueHi, using simple view in my layout i have a crash when i inflating layout. Can you fix this bug?
Thanks, Matteo Sist
Stacktrace: 09-24 11:40:48.927 20785-20785/it.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: it.example.app, PID: 20785 android.view.InflateException: Binary XML file line #21: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference at android.view.LayoutInflater.inflate(LayoutInflater.java:539) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at it.example.app.fragments.PicturePreviewFragment.onCreateView(PicturePreviewFragment.java:77) at android.app.Fragment.performCreateView(Fragment.java:2220) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148) at android.app.BackStackRecord.run(BackStackRecord.java:793) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535) at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at it.example.app.fragments.PicturePreviewFragment.onCreateView(PicturePreviewFragment.java:77) at android.app.Fragment.performCreateView(Fragment.java:2220) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148) at android.app.BackStackRecord.run(BackStackRecord.java:793) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535) at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Code:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_picture_preview, container, false);
return view;
}
Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lc_picturePreview"
android:layout_above="@+id/lc_pictureNavigationBar" />
<LinearLayout
android:id="@+id/lc_pictureNavigationBar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal">
<!--view cause of crash-->
<view
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2" />
<TextView
android:id="@+id/lc_pictureDelete"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="right"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:textColor="@color/White"
android:textSize="30sp" />
</LinearLayout>
</RelativeLayout>
Issue Analytics
- State:
- Created 8 years ago
- Comments:6 (1 by maintainers)
I encountered this same issue in Activity also when I used view instead of View tag. But found a solution from https://readyandroid.wordpress.com/android-view-inflateexception-binary-xml-file-line-0-attempt-to-invoke-virtual-method-boolean-java-lang-string-equalsjava-lang-object-on-a-null-object-reference-android/ You can found many more Android tricks and solutions from here: https://readyandroid.wordpress.com/
@matteo-adsolutions nothing to do with Calligraphy, you can’t just inflate a
view
like that. I useSpace
andView
all the time in similar situations. If you remove Calligraphy you will see the same crash.