将片段添加到XML中的活动:什么是类属性以及为什么它没有命名空间

时间:2014-12-16 04:23:30

标签: android android-layout android-fragments android-xml android-listfragment

在以下代码段中,

<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类的名称,因为TitlesFragmentexample I took this code from中的Fragment类,而com.example.android.apis.app告诉我必须提供此属性类的完全限定名称,但FragmentLayout$部分附加到类的名称,即TitlesFragment

我从this developer guide中的示例中获取了此代码,但没有对class属性的解释。我也找不到任何相关的here in the reference。请原谅我,如果它太基础了。

1 个答案:

答案 0 :(得分:1)

它确实引用了Fragment类。 FragmentLayout$TitlesFragment表示TitlesFragmentFragmentLayout类中的公共静态嵌套类。如果您检查that class,您会发现它是ListFragment子类。

public static class TitlesFragment extends ListFragment {

我在开发者页面中看到的那种符号的唯一引用是Custom Components page.(它在子标题下 4。使用自定义组件。)