Android Developer Guideの Fragments に関するドキュメントを読みましたが、Fragmentタグ属性でインスタンス化するクラスを指定することもありますAndroid:nameそしていつかclass:属性を使用します:
<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ファイル名、TitlesFragmentFragmentLayout.Javaファイルにありますか?または、構文package.fileDOTjava $を使用できますかClassもAndroid:name属性を使用していますか?
Android Java Classes(別の question )。
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);
}
これは、プログラムが最初に「クラス」属性に見えることを意味するようです。そして、失敗すると「名前」属性に見えます。そのため、より効率的な場合は「クラス」を使用することが事実です。
申し訳ありませんが、すべての専門家がここにいます。間違っているかもしれませんが、私の知る限りAndroid:nameフラグメントの属性を使用してフラグメントを検索します。getFragmentByTag() fragmentManagerのメソッドクラス。また、Android:class属性は、通常static fragmentに含めるフラグメントクラスを見つけるために使用されます。
これが役立つことを願っています。