gpt4 book ai didi

android - 如何在 XML 中使用自定义 Android ViewGroup?

转载 作者:太空狗 更新时间:2023-10-29 13:43:12 26 4
gpt4 key购买 nike

我有一个名为 NoteView 的扩展 FrameLayout 的类。这是一个顶级的公开课。

当我从 Java 代码创建 UI 时,它工作得很好,但我不知道如何在 XML 中使用它。我尝试像插入自定义 View 一样插入完全限定的类名,但我得到异常 ClassCastException: android.view.View cannot be cast to android.view.ViewGroup 当 Activity 试图膨胀时XML。

我只能找到关于自定义 View 的教程,而不是自定义 View 组。我需要做什么才能像在 XML 布局中使用 FrameLayout 一样使用 NoteView?

例如:这行得通

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<test.cjb.sandbox.NoteView
android:id="@+id/noteview"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:background="#FF0000"
android:layout_gravity="right">
</test.cjb.sandbox.NoteView>
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="fill_parent"
android:text="Sibling Button"/>
</LinearLayout>

但这会引发上述异常:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<test.cjb.sandbox.NoteView
android:id="@+id/noteview"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:background="#FF0000"
android:layout_gravity="right">
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="fill_parent"
android:text="Child Button"/>
</test.cjb.sandbox.NoteView>

</LinearLayout>

最佳答案

将来,在提示异常时,请考虑包括完整的堆栈跟踪,特别是当人们要求提供完整的堆栈跟踪时,因为完整的堆栈跟踪可能包含与给您答案相关的信息。您可以通过 adb logcat、DDMS 或 Eclipse 中的 DDMS 透视图获取完整的堆栈跟踪。

缺少它,我所能做的就是将您指向 this sample projectLinearLayout 扩展到自定义小部件中。

关于android - 如何在 XML 中使用自定义 Android ViewGroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com