当前位置: 首页 > 面试题库 >

如何从XML定义片段的布局?

栾烨华
2023-03-14
问题内容

我试图以与定义视图布局相同的方式在XML中定义片段的布局。

这可能吗?我尝试了几种方法,但似乎都没有用。

我的活动布局如下所示(main.xml):

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
  <fragment
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:name="full.lommeregner.Lommeregnerrv2Activity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/lommeregnerv2">
    </fragment>

</ListView>

现在,由于我不太喜欢通过原始Java代码生成布局,因此我尝试按以下方式定义片段(fragment_lommeregner.xml):

  <fragment
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:name="full.lommeregner.Lommeregnerrv2Activity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/lommeregnerv2">
       <!-- my content was located here (some textviews, buttons and so on). -->
    </fragment>

难道我做错了什么?如何通过XML定义片段的布局?


问题答案:

片段的工作原理与活动类似,因为您需要一个Java类文件来配合它。您不能仅通过创建片段布局来创建片段-您需要一个用于片段的类:

  1. 为您的活动创建一个布局XML和一个Activity子类
  2. 为您的片段创建一个布局XML和一个Fragment子类
  3. 将两者在您的Activity布局XML中绑定在一起(或者,如果您想在Java代码中使用,则使用FragmentTransaction)

如果您尚未这样做,请阅读,重新阅读和摘录此页面上的所有内容:https
:
//developer.android.com/guide/components/fragments.html

那里有很多东西,但是Fragments现在是Android应用程序的重要组成部分,因此需要阅读。好消息是片段的基础非常简单。



 类似资料:
  • 问题内容: 使用“模板修饰而不是包含”技术时,如何检查Thymeleaf片段是否已定义? 在以下 template.html 示例中,我只希望在定义片段时呈现script标签 但是在我的使用上面模板的 index.html 中,没有定义脚本片段,但是script标签仍然会渲染 我尝试过但没有运气 问题答案: 我在Thymeleaf玩了一点(…),这是我的结论。 在下文中,我将使用任何给定的标签(,

  • 我正试图通过id访问包装的相对布局上的TextView元素,但它没有显示在引用的id中,因此如何使用findViewById方法获取元素的id视图?我添加了一个扩展,允许我直接引用元素,但这并不完全是我要寻找的。我使用一个导航视图在片段之间切换,主活动有一个片段,在菜单中显示所选项目,因此我如何可能访问片段内视图布局中自己的元素释义片段定义活动主 R. id中的画廊号不显示 片段视图

  • 我试图得到一个布局就像下面的图像为一个游戏在android studio 当前我的xml是 我想在下一个级别增加更多的卡(如lvl 2)我需要为每个级别做几个布局吗?

  • 当使用“模板装饰而不是包含”技术时,我如何检查一个Thymeleaf片段是定义的? 在下面的template.html示例中,我只希望在定义片段时呈现脚本标记 但是在使用上面模板的index.html中,没有定义脚本片段,但是脚本标记仍然会呈现 我尝试过,但没有成功

  • 我读了DialogFragment,然后把它做成这样的一对一。 在另一个SherlockFragment中,我接下来制作: 但是doPositiveClick()、doNegativeClick()方法希望是静态的,这对我来说不好。