【发布时间】:2016-04-05 12:32:22
【问题描述】:
我有以下 EditText:
<EditText
android:id="@+id/et_username"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.8"
android:background="#E6E6E6"
android:gravity="center_vertical"
android:hint="USERNAME"
android:paddingRight="5dp"
android:singleLine="true"
android:textAppearance="@null"
android:textColor="#9C9C9C"
android:textColorHint="#ADADAD"
android:textSize="20sp"/>
当我将文本粘贴到其中时,我收到以下错误:
FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #17: Error inflating class TextView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.widget.Editor$ActionPopupWindow.initContentView(Editor.java:2928)
at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:2233)
at android.widget.Editor$ActionPopupWindow.<init>(Editor.java:2901)
at android.widget.Editor$ActionPopupWindow.<init>(Editor.java:2901)
at android.widget.Editor$HandleView.showActionPopupWindow(Editor.java:3302)
at android.widget.Editor$InsertionHandleView.showWithActionPopup(Editor.java:3536)
at android.widget.Editor$InsertionPointCursorController.showWithActionPopup(Editor.java:3780)
at android.widget.Editor.performLongClick(Editor.java:866)
at android.widget.TextView.performLongClick(TextView.java:8689)
at android.view.View$CheckForLongPress.run(View.java:19840)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
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:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=15; index=389
at android.content.res.StringBlock.get(StringBlock.java:65)
at android.content.res.XmlBlock$Parser.getPooledString(XmlBlock.java:458)
at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:991)
at android.content.res.TypedArray.getString(TypedArray.java:176)
at android.widget.TextView.<init>(TextView.java:1015)
at android.widget.TextView.<init>(TextView.java:632)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:56)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:963)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1022)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.widget.Editor$ActionPopupWindow.initContentView(Editor.java:2928)
at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:2233)
at android.widget.Editor$ActionPopupWindow.<init>(Editor.java:2901)
at android.widget.Editor$ActionPopupWindow.<init>(Editor.java:2901)
at android.widget.Editor$HandleView.showActionPopupWindow(Editor.java:3302)
at android.widget.Editor$InsertionHandleView.showWithActionPopup(Editor.java:3536)
at android.widget.Editor$InsertionPointCursorController.showWithActionPopup(Editor.java:3780)
at android.widget.Editor.performLongClick(Editor.java:866)
at android.widget.TextView.performLongClick(TextView.java:8689)
at android.view.View$CheckForLongPress.run(View.java:19840)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
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:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
EditText 是否为空都会发生这种情况。
另外,textColor 属性没有做任何事情,它只适用于 textAppearance @null。这发生在所有 EditText 和 TextView 中,但不会发生在 Button 中。
这与 Android Studio 或我的项目有关吗?
【问题讨论】:
-
你能分享你的java代码吗?
-
不确定您是否对此进行了测试,但是如果您删除
android:textAppearance="@null"会发生什么情况。膨胀不是在长按中完成的,所以我觉得你的代码的一部分丢失了。事实上,我怀疑它是 textAppearance。你能展示你的整个 XML 吗? -
whitout textAppearance @null 同样的事情发生
-
请尝试使用小文本。如果它正在工作,则增加文本长度。
-
那是完整的 EditText xml 吗?还有更多属性设置吗?