我使用主/明细模板创建了一个应用程序,但是我想要添加其他元素而不是主视图上的列表(实际上用不同的布局替换列表并添加初始列表这个布局)
如何实现这一目标?
顶部布局包含左侧为主设备的列表片段,右侧的framelayout将包含详细信息片段...
是否可以用包含片段的视图替换主列表片段?
我创建了一个特定的布局(left_layout),在片段xml中引用,并将我的类继承改为继承自fragment而不是list片段,当应用程序尝试instanciate时,我有以下例外情况这个片段:
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" />
答案 0 :(得分:2)
(这不是对你的问题的完整答案,但不能在评论中使用。)
我认为你的书中提到的是旧的&#39;主细节流的模板。新模板是在我认为的SDK 23时代推出的。
新的技术使用不同的技术:没有Master / List片段类,只有列表的布局作为列表片段。 请注意,列表布局的名称属性以&#39; Fragment&#39;结尾。 - 实际上并未使用此属性,但表示元素正在像片段一样使用。我相信你会用你想要使用的布局或视图而不是列表来替换这个元素。
更一般地说,如果您的主布局应该只有列表(除了必须在活动中的标题,工具栏等),您可以添加以下内容: - 对于活动,以及标题/工具栏,只有在您希望单窗格与双窗格不同时才有意义(这可能是Google为此所考虑的)。 - 或者到item_list.xml文件(每个布局配置一个),并用不同的布局替换recyclerview。
抱歉他们改变了模板,这样做。我认为具有2个片段类和布局的旧模板更容易理解,更灵活。例如。对于像你这样的情况,以及任何人希望列表/主片段更像是一个列表(不正常吗?)的情况。我无法找到或解释他们所做的改变。