簡體   English   中英

在主明細流中修改ListFragment

[英]Modify ListFragment in Master Detail flow

我已經使用“主/詳細信息”模板創建了一個應用,但是我想添加其他元素(而不是主視圖上的列表)(實際上是將列表替換為其他布局,並在此布局中添加初始列表)

如何做到這一點?

頂部布局在母版的左側包含一個列表片段,而在右側則包含詳細片段的框架布局...

是否可以用包含該片段的視圖替換主列表片段?

我創建了一個特定的布局(left_layout),該片段在xml片段中進行了引用,並將類繼承更改為從片段而不是列表片段繼承,並且當應用程序嘗試實例化該片段時,我有以下例外:

lang.RuntimeException: Unable to start activity ComponentInfo{com.digiwiz.tvtweet/com.digiwiz.tvtweet.ChannelListActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class fragment
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)

稱為:

setContentView(R.layout.activity_channel_list);

而activity_channel_list是已修改的主要活動:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:id="@+id/channel_list"
          android:name="com.digiwiz.tvtweet.ChannelListFragment"
          android:layout_width="match_parent"
          android:layout_height="match_parent" 
          android:layout_marginLeft="16dp"
          android:layout_marginRight="16dp" 
          tools:context=".ChannelListActivity"
          tools:layout="@layout/left_layout" />

(這並不是您問題的完整答案,但無法在評論中顯示。)

我認為您的書參考了主/細節流程的“舊”模板。 我認為新模板是在SDK 23左右推出的。

新的使用了另一種技術:沒有Master / List片段類,只有列表的布局用作列表片段。 請注意,列表布局具有以'Fragment'結尾的name屬性-該屬性實際上並未使用,但表示該元素正像片段一樣被使用。 我相信您會用您要使用的布局或視圖(而不是列表)替換此元素。

更一般而言,如果您的主版式應該只包含列表(不包括標題,工具欄等,它們必須放在活動中),則可以將以下內容添加到其中:-與標題/工具欄一起添加到活動中,僅當您希望單窗格和雙窗格有所不同時才有意義(這也許是Google想到的)。 -或item_list.xml文件(每個布局配置一個),然后將recyclerview替換為其他布局。

很抱歉他們更改了模板以這種方式進行操作。 我認為帶有2個片段類和布局的舊模板更容易理解和更靈活。 例如。 在像您這樣的情況下,以及在任何情況下希望列表/主片段要多於列表的情況(不是很正常嗎?)。 我找不到他們所做更改的任何提及或解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM