由于某些原因,当我开始向其中添加按钮时,收到错误消息。
我在网络上发现有人更改了android版本,这对他有所帮助,我将android版本从25更改为19,但这对我没有帮助。
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="25px"
android:minHeight="25px">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:id="@+id/button2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/button3" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:id="@+id/button4" />
</HorizontalScrollView>
需要显示按钮,但出现错误
启用了间接渲染 网桥[resources.resolve]无法解析资源@ string / abc_action_bar_home_description 无法处理消息加载 mono.android.DesignerException:java.lang.IllegalStateException 在mono.android.DesignerException.fromThrowable(DesignerException.java:54) 在mono.android.DesignerSession.checkRenderResultForError(DesignerSession.java:215) 在mono.android.DesignerSession.load(DesignerSession.java:302) 在mono.android.DesignerSession.processMessage(DesignerSession.java:665) 在mono.android.MessageListener.executeMessage(MessageListener.java:88) 在mono.android.MessageListener $ Runner.run(MessageListener.java:44) 在java.lang.Thread.run(Thread.java:748) 原因:java.lang.IllegalStateException:HorizontalScrollView只能托管一个直接子级 在android.widget.HorizontalScrollView.addView(HorizontalScrollView.java:251) 在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:867) 在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:837) 在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:866) 在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:837) 在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 在android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在android.view.LayoutInflater.inflate(LayoutInflater.java:394) 在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:327) 在com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:386) 在com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:270) 在mono.android.DesignerSession.load(DesignerSession.java:289)
答案 0 :(得分:1)
我们可以看到错误日志:java.lang.IllegalStateException: HorizontalScrollView can host only one direct child
,因此您可以添加一个容器来包装这些按钮,例如LinearLayout
,如下所示:
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:minWidth="25px"
android:minHeight="25px">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/button1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:id="@+id/button2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/button3" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:id="@+id/button4" />
</LinearLayout>
</HorizontalScrollView>