Android 4.0.1 - EditText 中的 XML 呈现错误。索引:0,大小:0 - Vew 绘制失败
Posted
技术标签:
【中文标题】Android 4.0.1 - EditText 中的 XML 呈现错误。索引:0,大小:0 - Vew 绘制失败【英文标题】:Android 4.0.1 - XML Rendering Error in EditText. Index:0, Size: 0 - Vew draw failed 【发布时间】:2020-12-12 14:45:41 【问题描述】:在我的 Activity 的 XML 中添加 EditText 时遇到问题。它不正确可见,当我运行应用程序时它就在那里,但是通过单击它,键盘没有显示我无法在那里添加任何输入。首先,我以为我只在这个活动中遇到了这个问题,但是当我尝试在项目的任何其他活动中添加 EditText 时,同样的事情正在发生,但是在我更新到新版本的 android 之前已经添加了 EditText studio 4.0.1 在 XML 中运行良好,当我运行应用程序时 - 键盘出现,我可以添加输入,使用 compileSdkVersion 29
minSdkVersion 18
targetSdkVersion 29
这是我的 XML。用于编辑此 Activity 中的文本。
<LinearLayout
android:layout_
android:layout_
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal"
android:background="@drawable/square_border">
<EditText
android:id="@+id/idOrderSummaryPostcode"
android:layout_
android:layout_
android:hint="Enter Postcode"
android:padding="5dp"
android:textSize="18sp"
android:layout_weight="1" />
<Button
android:id="@+id/idOrderSummaryPostcodeAddNew"
android:layout_
android:layout_
android:text="+ New"
android:textAllCaps="false"
android:textSize="15sp"
android:background="@drawable/border_style_round_light_gray_solid"/>
</LinearLayout>
这是我在Manifest
的活动
<activity
android:name=".view.Order.Checkout"
android:screenOrientation="portrait" />
我已经像这样在onCreate
中初始化了它
private EditText postcode;
postcode = findViewById(R.id.idOrderSummaryPostcode);
我的 XML 设计窗口出现此错误。
index: 0, size:0
view draw detail(Details)
当我单击(详细信息)时,这里是此错误的详细信息。
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at com.android.ninepatch.NinePatchChunk.draw(NinePatchChunk.java:190)
at com.android.ninepatch.NinePatchChunk.draw(NinePatchChunk.java:106)
at android.graphics.BaseCanvas_Delegate$1.draw(BaseCanvas_Delegate.java:464)
at com.android.layoutlib.bridge.impl.GcSnapshot.drawInLayer(GcSnapshot.java:697)
at com.android.layoutlib.bridge.impl.GcSnapshot.draw(GcSnapshot.java:587)
at android.graphics.BaseCanvas_Delegate.nDrawNinePatch(BaseCanvas_Delegate.java:461)
at android.graphics.BaseCanvas.nDrawNinePatch(BaseCanvas.java)
at android.graphics.BaseCanvas.drawPatch(BaseCanvas.java:307)
at android.graphics.Canvas.drawPatch(Canvas.java:1825)
at android.graphics.NinePatch.draw(NinePatch.java:217)
at android.graphics.drawable.NinePatchDrawable.draw(NinePatchDrawable.java:249)
at android.graphics.drawable.DrawableContainer.draw(DrawableContainer.java:87)
at android.graphics.drawable.DrawableWrapper.draw(DrawableWrapper.java:240)
at android.view.View.drawBackground(View.java:21671)
at android.view.View.draw_Original(View.java:21435)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at android.view.View.draw_Original(View.java:21317)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21446)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at android.view.View.draw_Original(View.java:21317)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21315)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21315)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21446)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at android.view.View.draw_Original(View.java:21317)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21446)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at android.view.View.draw_Original(View.java:21317)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21446)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at android.widget.ScrollView.draw(ScrollView.java:1835)
at android.view.View.draw_Original(View.java:21317)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21315)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21446)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at android.view.View.draw_Original(View.java:21317)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21315)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21315)
at android.view.View_Delegate.draw(View_Delegate.java:68)
at android.view.View.draw(View.java:21089)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:4388)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65)
at android.view.ViewGroup.drawChild(ViewGroup.java:4388)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4149)
at android.view.View.draw_Original(View.java:21446)
at android.view.View_Delegate.draw(View_Delegate.java:56)
at android.view.View.draw(View.java:21417)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(RenderSessionImpl.java:404)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(RenderSessionImpl.java:565)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:425)
at com.android.layoutlib.bridge.BridgeRenderSession.render(BridgeRenderSession.java:115)
at com.android.ide.common.rendering.api.RenderSession.render(RenderSession.java:142)
at com.android.ide.common.rendering.api.RenderSession.render(RenderSession.java:124)
at com.android.tools.idea.rendering.RenderTask.lambda$null$11(RenderTask.java:894)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
这是我的 XML 的屏幕截图,编辑文本在那里,但在这里不正确。
现在,这是下面错误的屏幕截图。
我的尝试
-
清理项目
重建项目
关闭 Andorid Studio 并再次打开项目。
从“设置”->“实验”启用新的布局渲染引擎。
从“设置”->“实验”禁用新的布局渲染引擎。
通过
File ---> Invalid Cahes/ Restart
清除无效现金
android:inputType="textNoSuggestions"
android:inputType="number"
android:inputType="text"
事实上我已经一一尝试了所有的输入类型。
android:enabled="true"
android:focusableInTouchMode="true"
android:focusable="true"
尝试了不同的模拟器。
在物理设备上试过了。
我已尝试通过JAVA
将其设置为启用
postcode.setEnabled(true);
postcode.setFocusable(true);
任何人都可以帮我解决这里的问题吗?谢谢!
【问题讨论】:
【参考方案1】:为您的编辑文本添加背景属性。
android:background="@color/colorAccent"
【讨论】:
【参考方案2】:我遇到了同样的问题,我有一个解决方案。希望它对你有用。
添加 android:background
EditText 内的属性:
【讨论】:
以上是关于Android 4.0.1 - EditText 中的 XML 呈现错误。索引:0,大小:0 - Vew 绘制失败的主要内容,如果未能解决你的问题,请参考以下文章
Android从零单排系列七《Android视图控件——EditText》
Android从零单排系列七《Android视图控件——EditText》