首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >活动布局:片段类: vs android:name属性

活动布局:片段类: vs android:name属性
EN

Stack Overflow用户
提问于 2012-04-15 22:40:37
回答 1查看 21.3K关注 0票数 68

我已经阅读了Android Developer Guide中关于Fragments的文档,我看到他们有时使用片段标签属性android:name指定要实例化的类,有时使用class:属性:

代码语言:javascript
复制
<fragment
    android:name="com.example.news.ArticleReaderFragment"
    android:id="@+id/viewer"
    android:layout_weight="2"
    android:layout_width="0dp"
    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" />

android:name和class:可以互换吗?如果我在Eclipse中使用自动补全功能,它们都显示了相同的文档提示(即该属性提供了要实例化的类名)。当要实例化的类的名称与java文件名不同时,可能必须使用第二个名称,比如FragmentLayout.java文件中的TitlesFragment?或者我可以将语法package.fileDOTjava$Class也与android:name属性一起使用吗?

我想要一些关于XML标记和属性的文档,就像Android Java类一样(我已经在另一个question中询问过它)。

EN

回答 1

Stack Overflow用户

发布于 2012-12-19 18:43:43

正如Activity.onCreateView来源所说:

代码语言:javascript
复制
String fname = attrs.getAttributeValue(null, "class");
TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.Fragment);
if (fname == null) {
    fname = a.getString(com.android.internal.R.styleable.Fragment_name);
}

这似乎意味着程序首先看起来是"class“属性。如果失败,则会查看"name“属性。因此,如果效率更高,那么使用"class“是正确的。

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10162983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档