亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

活動布局:片段類:vs android:name屬性

活動布局:片段類:vs android:name屬性

呼喚遠方 2019-12-27 15:16:52
我已經閱讀了《 Android開發人員指南》中有關Fragments的文檔,并且看到它們有時使用Fragment標簽屬性android:name指定要實例化的類,有時它們使用class: attribute:<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" />是安卓:名稱和類:互換?如果我在Eclipse中使用自動完成功能,它們都將顯示相同的文檔提示(即,屬性提供要實例化的類名)。當要實例化的類的名稱與Java文件名不同時,例如FragmentLayout.java文件中的TitlesFragment,您可能必須使用第二個嗎?還是可以將語法package.fileDOTjava $ Class也用于android:name屬性?我想要一些XML標記和屬性的文檔,就像Android Java類一樣(我在另一個問題中已經問過)。
查看完整描述

3 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

正如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”屬性。并在失敗時顯示“名稱”屬性。因此,使用“類”更為有效。


查看完整回答
反對 回復 2019-12-27
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

android:name和class:是否可互換?


大概是。我只使用了class,這似乎是Google大部分示例所使用的,但是我確實看到了它們android:name在某些示例中的使用位置。不幸的是,沒有的正式和完整文檔<fragment>。


查看完整回答
反對 回復 2019-12-27
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

抱歉,所有專家都在這里,我可能錯了,但是據我所知,當我們使用fragmentManager類的getFragmentByTag()方法時,fragment的android:name屬性用于查找片段。還機器人:類屬性是用來尋找片斷類,我們一般包括靜態的片段。

希望這會有所幫助..謝謝


查看完整回答
反對 回復 2019-12-27
  • 3 回答
  • 0 關注
  • 648 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號