二进制 XML 文件第 26 行:膨胀 class android.widget.TextView 时出错
Binary XML file line #26: Error inflating class android.widget.TextView
我正在使用 Android Studio,当我在我的布局应用程序中使用 textview 时关闭显示错误:
android.view.InflateException: Binary XML file line #26: Error inflating class android.widget.TextView
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at com.SubFragment.onCreateView(SubFragment.java:20)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
at android.view.View.measure(View.java:17430)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:875)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:851)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
at android.view.View.measure(View.java:17430)
在我的片段中 class
public class SubFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_homescreen, container, false);// getting error here
return rootView;
}
}
XML代码:
<LinearLayout
android:layout_margin="10dp"
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center_vertical|center_horizontal"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/offers">
<ImageView
android:id="@+id/imageButtonOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/offers_icon" />
<TextView
android:id="@+id/textViewOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageButtonOffers"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:text="Offer"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textSize="15sp" />
</LinearLayout>
此代码在 Eclipse 中运行良好。唯一的问题是当我尝试在 Studio 中工作时
android:background="@drawable/offers"
我希望提供的是图像并且它比屏幕大所以用一些颜色代码替换 n 试试
像这样
android:background="#ff0000"
希望它有用..
也检查这个
android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>
编辑:
删除此行
android:textAppearance="?android:attr/textAppearanceMedium"
我清理了你的 xml 并添加了命名空间:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/offers"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageButtonOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/offers_icon" />
<TextView
android:id="@+id/textViewOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:text="Offer"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textSize="15sp" />
</LinearLayout>
由于您使用的是 LinearLayout,因此 "android:layout_below" 或 "android:layout_centerHorizontal" 等参数并非无效。
我也遇到了这个错误。
我通过重新创建包含 TextView
的新 .xml
文件解决了这个问题。
在我的例子中,错误是 xml 版本(v21\abc.xml)。
在 android 版本 6(棉花糖)中代码 运行 很好,而不是在 android 版本 4.4(kitkat)中 运行 抛出错误。
我遇到了同样的问题。
确保你的 Layouts.Instead 中没有
tools:targetApi="lollipop"
,有两个布局,一个在 layout
下,另一个在 layout-v21
文件夹下。
我遇到了类似的错误,但是我发现属性textAppearance没有写好。
最初是 android:textSize="?android:textAppearanceMedium"
而不是 android:textAppearance="?android:textAppearanceMedium"
您可以在此处阅读有关 TextView 的更多信息https://developer.android.com/reference/android/widget/TextView
Android 的旧版本似乎不支持
等标签
android:background="@drawable/rounded_corner"
android:textSize="?android:textAppearanceMedium"
在这种情况下,将其从 XML 文件中删除,并尝试从 Java 或 Kotlin 代码(最好在 try...catch 或 if.. .else 子句)
希望对您有所帮助
您必须在项目的 res-> 字体文件夹中创建另一个 .xml 文件。之后调用 .xml 文件中的字体文件。
<font
android:font="@font/rubikbold"/>
这里,我的项目中有一个robik bold字体文件。
检查您的主题 parent。如果主题 parent 和样式 parent 之间发生不匹配,您将收到属性丢失或无法解决错误。
就我而言,我使用的主题是 parent :
Theme.AppCompat.DayNight.NoActionBar
但在我的风格中,我使用 parent 作为 :
TextAppearance.AppCompat.Widget.PopupMenu.Small
由于它们不同导致无法解析符号错误。
希望这可能有所帮助..
我正在使用 Android Studio,当我在我的布局应用程序中使用 textview 时关闭显示错误:
android.view.InflateException: Binary XML file line #26: Error inflating class android.widget.TextView
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at com.SubFragment.onCreateView(SubFragment.java:20)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
at android.view.View.measure(View.java:17430)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:875)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:851)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17430)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
at android.view.View.measure(View.java:17430)
在我的片段中 class
public class SubFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_homescreen, container, false);// getting error here
return rootView;
}
}
XML代码:
<LinearLayout
android:layout_margin="10dp"
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center_vertical|center_horizontal"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/offers">
<ImageView
android:id="@+id/imageButtonOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/offers_icon" />
<TextView
android:id="@+id/textViewOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageButtonOffers"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:text="Offer"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textSize="15sp" />
</LinearLayout>
此代码在 Eclipse 中运行良好。唯一的问题是当我尝试在 Studio 中工作时
android:background="@drawable/offers"
我希望提供的是图像并且它比屏幕大所以用一些颜色代码替换 n 试试
像这样
android:background="#ff0000"
希望它有用..
也检查这个
android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>
编辑:
删除此行
android:textAppearance="?android:attr/textAppearanceMedium"
我清理了你的 xml 并添加了命名空间:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/offers"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageButtonOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/offers_icon" />
<TextView
android:id="@+id/textViewOffers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:text="Offer"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textSize="15sp" />
</LinearLayout>
由于您使用的是 LinearLayout,因此 "android:layout_below" 或 "android:layout_centerHorizontal" 等参数并非无效。
我也遇到了这个错误。
我通过重新创建包含 TextView
的新 .xml
文件解决了这个问题。
在我的例子中,错误是 xml 版本(v21\abc.xml)。
在 android 版本 6(棉花糖)中代码 运行 很好,而不是在 android 版本 4.4(kitkat)中 运行 抛出错误。
我遇到了同样的问题。
确保你的 Layouts.Instead 中没有
tools:targetApi="lollipop"
,有两个布局,一个在 layout
下,另一个在 layout-v21
文件夹下。
我遇到了类似的错误,但是我发现属性textAppearance没有写好。
最初是 android:textSize="?android:textAppearanceMedium"
而不是 android:textAppearance="?android:textAppearanceMedium"
您可以在此处阅读有关 TextView 的更多信息https://developer.android.com/reference/android/widget/TextView
Android 的旧版本似乎不支持
等标签android:background="@drawable/rounded_corner"
android:textSize="?android:textAppearanceMedium"
在这种情况下,将其从 XML 文件中删除,并尝试从 Java 或 Kotlin 代码(最好在 try...catch 或 if.. .else 子句)
希望对您有所帮助
您必须在项目的 res-> 字体文件夹中创建另一个 .xml 文件。之后调用 .xml 文件中的字体文件。
<font
android:font="@font/rubikbold"/>
这里,我的项目中有一个robik bold字体文件。
检查您的主题 parent。如果主题 parent 和样式 parent 之间发生不匹配,您将收到属性丢失或无法解决错误。 就我而言,我使用的主题是 parent :
Theme.AppCompat.DayNight.NoActionBar
但在我的风格中,我使用 parent 作为 :
TextAppearance.AppCompat.Widget.PopupMenu.Small
由于它们不同导致无法解析符号错误。 希望这可能有所帮助..