活动布局:片段类:VS安卓:名称属性活动布局:片段类:VS安卓:名称属性(Activity Layo

2019-05-13 13:16发布

我读过有关文件碎片的Android开发者指南中,我已经看到,有时他们指定的类实例化与片段标签属性的android:名字和某个他们所使用的类:属性:

<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用户:名称类:互换? 如果我使用Eclipse中的自动完成功能,它们都显示相同的文档尖(即属性提供类名来实例化)。 也许你必须使用第二个时被实例化的类都有一个名字是从Java文件名不同,像TitlesFragment这是在FragmentLayout.java文件? 或者,我可以使用语法package.fileDOTjava $类也随着Android:name属性?

我想对XML标签的一些文档和属性,用于Android的Java类(我问过关于它的另一个问题 )。

Answer 1:

作为Activity.onCreateView消息来源说:

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”属性。 所以,只要是使用“类”,如果更有效的是真的。



Answer 2:

是Android用户:名称和类:互换?

据推测,是的。 我只用class ,这似乎是大多数谷歌的例子使用,但我确实看到他们使用android:name一些样品英寸 不幸的是,因为没有正式的和完整的文档<fragment>



Answer 3:

对不起所有的专家都在这里,我可能是错的,但按我的知识安卓名片段的属性是用来寻找片段,当我们使用getFragmentByTag fragmentManager类的()方法。 还机器人:类属性是用来寻找片断类,我们一般包括静态的片段

希望这将有助于..谢谢



文章来源: Activity Layout: Fragment class: vs android:name attributes