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 ---&gt; 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 键盘隐藏 EditText

Android从零单排系列七《Android视图控件——EditText》

Android从零单排系列七《Android视图控件——EditText》

Android从零单排系列七《Android视图控件——EditText》

android EditText inputType说明

android editText 监听事件