【发布时间】:2014-10-14 14:41:23
【问题描述】:
我在 xml 文件的视图中找到了以下类属性
class="com.example.android.apis.view.VideoPlayerActivity$Content"
在http://developer.android.com/reference/android/view/View.html 在 android.xml 文件中使用完全限定的类名是什么意思? 通货膨胀时如何使用此类。
【问题讨论】:
我在 xml 文件的视图中找到了以下类属性
class="com.example.android.apis.view.VideoPlayerActivity$Content"
在http://developer.android.com/reference/android/view/View.html 在 android.xml 文件中使用完全限定的类名是什么意思? 通货膨胀时如何使用此类。
【问题讨论】:
有时您会发现默认组件不足以满足您的需求。您可以使用此class 属性来在 xml 文件中使用您自己的组件。
例如,假设您创建了自己的组件,该组件扩展了TextView 并具有一些附加功能,并将其命名为MyTextView。您可以像这样在 xml 文件中使用它:
<view
class="com.project.my.MyTextView"
id="@+id/note"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
您可能想进一步阅读 Android 文档:http://developer.android.com/guide/topics/ui/custom-components.html
【讨论】:
<view
class="A_public_view_Inner_class_full_package"
id="@+id/note" />
相当于
<A_public_view_class_full_package
id="@+id/note"
...>
<A_public_view_class_full_package/>
但是
回到你的情况。因为 VideoPlayerActivity$Content 是 Inner 类所以你必须使用 您不能将此定义用于内部类 更新:有人可能会问这个问题:为什么 Android 不使用 而不是使用强> 。 简单的答案是 XML 元素名称不能包含出现在 Inner 类名称中的“$”。 结论:<com.example.android.apis.view.VideoPlayerActivity$Content
id="@+id/note"
.... />
【讨论】: