在以下代码段中,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="match_parent">
<fragment class="com.example.android.apis.app.FragmentLayout$TitlesFragment"
android:id="@+id/titles" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
</LinearLayout>
什么是class
属性,如果它是我们的Fragment类,那么为什么FragmentLayout$
附加到其名称,为什么没有android
或任何名称空间吗
我完全可以看到它是Fragment类的名称,因为TitlesFragment
是example I took this code from中的Fragment类,而com.example.android.apis.app
告诉我必须提供此属性类的完全限定名称,但FragmentLayout$
部分附加到类的名称,即TitlesFragment
?
我从this developer guide中的示例中获取了此代码,但没有对class属性的解释。我也找不到任何相关的here in the reference。请原谅我,如果它太基础了。
答案 0 :(得分:1)
它确实引用了Fragment类。 FragmentLayout$TitlesFragment
表示TitlesFragment
是FragmentLayout
类中的公共静态嵌套类。如果您检查that class,您会发现它是ListFragment
子类。
public static class TitlesFragment extends ListFragment {
我在开发者页面中看到的那种符号的唯一引用是Custom Components page.(它在子标题下 4。使用自定义组件。)