<fragment>中的android:name属性

时间:2015-07-02 13:21:02

标签: android android-fragments

请在此代码中解释ArticleListFragmentArticleReaderFragmet

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment android:name="com.example.news.ArticleListFragment"
            android:id="@+id/list"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent" />
    <fragment android:name="com.example.news.ArticleReaderFragment"
            android:id="@+id/viewer"
            android:layout_weight="2"
            android:layout_width="0dp"
            android:layout_height="match_parent" />
</LinearLayout>

我不知道他们所指的是什么?它是在源代码中使用的Fragment类(或其子类)还是用于布局的XML文件?

如果它们是XML文件,它们必须位于哪里?

4 个答案:

答案 0 :(得分:10)

ArticleListFragment和ArticleReaderFragment是包含这些片段的java代码的类的名称。

如前所述,你可以让你的片段包含活动,但这样做不是一个好习惯。

有一个很好的例子,尝试用片段创建&#34;空白活动&#34;使用Android Studio向导。它将分别为活动和片段创建一个活动类和一个片段类以及2个XML文件。

答案 1 :(得分:5)

<fragment android:name="com.example.app.myFragment"/>

name属性用于指定用于创建View层次结构的Fragment类 - 在本例中为myFragment.java。

答案 2 :(得分:2)

它们引用Fragment的两个子类,一个名为ArticleReaderFragment,另一个名为ArticleListFragment。两者的包都是相同的,com.example.news。 Android将负责为您实例化

答案 3 :(得分:1)

ArticleListFragmentArticleReaderFragment指向您可以在路径com/example/news/..上找到的班级。这些类应该是Fragment类的子类。

这意味着这些类需要存在于您的代码中,以使这个示例XML工作。

在我看来,http://developer.android.com/guide/components/fragments.html#Adding

解释了这一点