使用多个视图以编程/动态方式创建 LinearLayout

2024-04-15

我有一个像这样的层次结构:

  • LinearLayout(horizontal)
    • 图像视图
    • LinearLayout(vertical)
      • TextView
      • TextView
      • TextView
      • TextView

我希望能够通过迭代添加上面的层次结构,只要有可以从数据库获取的数据(使用Parse http://parse.com)

我尝试将 ImageView 和 LinearLayout 放在父 LinearLayout 下,但似乎不起作用。这是我在 MainActivity.Java 中的代码:

LinearLayout LL_Outer = (LinearLayout) findViewById(R.id.new_linearLayoutOuter);
LL_Outer.setOrientation(LinearLayout.VERTICAL); // set orientation
LL_Outer.setBackgroundColor(color.white); // set background
// set Layout_Width and Layout_Height
LinearLayout.LayoutParams layoutForOuter = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
LL_Outer.setLayoutParams(layoutForOuter);


LinearLayout LL_Inner = (LinearLayout) findViewById(R.id.new_linearLayoutInner);
LL_Inner.setOrientation(LinearLayout.HORIZONTAL);
LL_Inner.setBackgroundColor(color.white);
LinearLayout.LayoutParams layoutForInner = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
LL_Inner.setLayoutParams(layoutForInner);

//LL_Outer.addView(LL_Inner);

ImageView IV = (ImageView) findViewById(R.id.new_imageViewPP);
//IV.getLayoutParams().height = 55;
//IV.getLayoutParams().width = 55;
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(14, 12, 0, 0);
params.height = 55;
params.weight = 55;
IV.setBackgroundColor(color.black);
IV.setLayoutParams(params);

LL_Inner.addView(IV);
LL_Outer.addView(LL_Inner);

我不知道我哪里出了问题,因为我的代码没有提示任何错误。请帮忙。

编辑:我已经相应地编辑了方向,当我运行该应用程序时,它停止工作。并在 LogCat 中提示错误“指定的子项已有父项。您必须先对子项的父项调用removeView()。

这是我的 XML:

<LinearLayout
    android:id="@+id/new_linearLayoutOuter"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:orientation="horizontal" >

    <ImageView
            android:id="@+id/new_imageViewPP"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:layout_marginLeft="14dp"
            android:layout_marginTop="12dp"
            android:background="@color/black"
            android:contentDescription="@string/pp" />

    <LinearLayout
        android:id="@+id/new_linearLayoutInner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:orientation="vertical" >

        <TextView 
            android:id="@+id/new_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/movie_title"
            android:paddingTop="10dp"
            android:paddingLeft="7dp"
            android:textSize="15sp" /> <!-- Title of the movie -->

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/review_by"
            android:paddingTop="3dp"
            android:paddingLeft="7dp"
            android:textSize="12sp" /> <!-- By -->

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/movie_stars"
            android:paddingTop="3dp"
            android:paddingLeft="7dp"
            android:textSize="12sp" /> <!-- Rating and date -->

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sample_string"
            android:maxLines="5"
            android:scrollbars="vertical"
            android:paddingTop="10dp"
            android:paddingLeft="7dp"
            android:textSize="12sp"
            android:layout_gravity="center_vertical|right" /> <!-- Review content -->


    </LinearLayout>

</LinearLayout>

您希望以编程方式获得该层次结构。

- LinearLayout(horizontal) - ImageView - LinearLayout(vertical) - TextView - TextView - TextView - TextView

好的,让我们从父级开始LinearLayout

LinearLayout parent = new LinearLayout(context);

parent.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
parent.setOrientation(LinearLayout.HORIZONTAL);

//children of parent linearlayout

ImageView iv = new ImageView(context);

LinearLayout layout2 = new LinearLayout(context);

layout2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
layout2.setOrientation(LinearLayout.VERTICAL);

parent.addView(iv);
parent.addView(layout2);

//children of layout2 LinearLayout

TextView tv1 = new TextView(context);
TextView tv2 = new TextView(context);
TextView tv3 = new TextView(context);
TextView tv4 = new TextView(context);

layout2.addView(tv1);
layout2.addView(tv2);
layout2.addView(tv3);
layout2.addView(tv4);

你就完成了:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用多个视图以编程/动态方式创建 LinearLayout 的相关文章

  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • jar 中的 apklib 有什么优点?

    我正在关注这个问题 https stackoverflow com questions 6059502 whats the difference between apklib and jar files但它并没有完全回答我的问题 jar 中
  • 从手机访问本地主机[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • Ionic Facebook Api 无效密钥哈希

    我无法让我的应用程序允许 Facebook 登录 每次用户尝试登录 Facebook 并使用他们的 FB 验证我的应用程序时 都会出现以下错误 无效的密钥哈希 它们的密钥哈希 xxxxxxxxxx 与任何存储的密钥哈希不匹配 配置您的应用程
  • 是否可以通过编程方式查找 logback 日志文件?

    自动附加日志文件以支持电子邮件会很有用 我可以以编程方式设置路径 如以编程方式设置 Logback Appender 路径 https stackoverflow com questions 3803184 setting logback
  • 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

    我有一个返回 sys refcursor 的 Oracle 函数 当我使用 Hibernate 调用该函数时 出现以下异常 Hibernate call my function org hibernate exception Generic
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 套接字的读写如何同步?

    我们创建一个套接字 在套接字的一侧有一个 服务器 在另一侧有一个 客户端 服务器和客户端都可以向套接字写入和读取 这是我的理解 我不明白以下事情 如果服务器从套接字读取数据 它在套接字中是否只看到客户端写入套接字的内容 我的意思是 如果服务
  • 如何从 Facebook 邀请好友到 Android 应用程序? - 给出错误

    我正在开发一个 Android 应用程序 我正在努力将 邀请朋友 功能添加到我的应用程序中 它转到我的AppLinkUrl成功但显示错误 我的清单代码如下
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • 在 Google App-Engine JAVA 中将文本转换为字符串,反之亦然

    如何从字符串转换为文本 java lang String to com google appengine api datastore Text 反之亦然 Check Javadoc http code google com appengin
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • [cocos2d-x]当我尝试在 Windows 10 中运行“python android-build.py -p 19 cpp-tests”时出现错误

    当我尝试运行命令时python android build p cpp tests 我收到如图所示的错误 在此之前 我收到了另一条关于 Android SDK Tools 版本兼容性的错误消息 所以 我只是将 sdk 版本从 26 0 0
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp

随机推荐

  • 根据磁盘可用空间获取节点IP

    我正在尝试编写一个 Ansible 剧本来检查多个服务器上的磁盘空间 到目前为止 这是我的 Ansible 剧本 hosts all become yes tasks name Check freespace shell df h awk
  • 在第二次编辑后刷新表单[重复]

    这个问题在这里已经有答案了 嘿大家好 我目前正在尝试在更改完成后立即刷新表单 在我的第一个表单上 我按下 创建 按钮 这将打开另一个表单 form2 第二个表单将具有输入字段 并允许您输入填充第一个表单上的组合框的值 在第二个表单上有一个
  • 标题消息就像 Stack Overflow 中一样

    这是我第一次访问堆栈溢出 我看到了一条漂亮的标题消息 其中显示了文本和关闭按钮 标题栏是固定的 非常能吸引访问者的注意力 我想知道你们中是否有人知道获得相同类型标题栏的代码 快速的纯 JavaScript 实现 function Messa
  • openui5:如何在 RowRepeater 中获取当前 JSON 模型元素

    我无法获取绑定到 RowRepeater 元素的当前 JSON 模型元素 对于表和列表 我只需检索当前索引 或多个索引 并根据这些值 指向 JSON 模型中的匹配元素 但是 RowRepeater 元素没有当前索引属性 我觉得我应该能够直接
  • 主题消息可以在activemq中持久化吗?

    我对 JMS 和 ESB 非常陌生 我使用 activemq 作为 JMS 使用 mule 作为 ESB 当我将消息从一个队列转发到另一个队列时 jms 连接器参数 persistentDelivery 为 true 它会在 activem
  • 将部分 Activity/Fragment 保存为图像

    我试图保存我的活动的一部分 没有工具栏和状态栏 我现在拥有的代码可以保存整个屏幕 请参考下图 我现在拥有的代码 llIDCardRootView LinearLayout view findViewById R id ll id card
  • Laravel psr-4 不自动加载

    我有一个在本地运行良好的 Laravel 项目 Mavericks 但 psr 4 下的类未加载到我们的阶段服务器 CentOS 上 每次尝试作曲家更新或运行 artisan 命令时 我都会收到反射 未找到类 错误 我所有的应用程序特定类都
  • 无法将 IBOutlet 连接到 Storyboard

    我最近开始使用故事板为我的 iPad 应用程序创建 iPhone 界面 我已将项目更改为 Universal 而不是 iPad 并在项目摘要屏幕中将所需的故事板分配给其设备 但是当我尝试使用 control drag 将任何元素连接到一段代
  • 如何以编程方式激活“在高 dpi 设置上禁用显示缩放”[重复]

    这个问题在这里已经有答案了 我正在 Visual Studio 2010 上使用 C 开发 Windows 窗体应用程序 我发现如果我使用高 dpi 显示设置 该应用程序会缩放 但是 如果我通过 Windows 资源管理器上的鼠标右键单击菜
  • 在 Visual Studio 2017 中出现未处理的异常后启用编辑

    在 Visual Studio 2017 中出现未处理的异常后如何继续执行 在 2015 及以下版本中 可以通过单击轻松完成此操作Enable Editing它 将调用堆栈展开到异常之前的点 然后就可以编辑执行点 变量和代码 当库抛出异常时
  • 如何使用“here-doc”将行打印到文件?

    基本上 这是我在过去半小时内编程和使用 Google 的结果 试图实现一个简单的事情 从以下位置获取用户输入 STDIN并将它们写入结构化 XML 文件作为输出 下面是我丑陋的代码 bin perl print img URL img lt
  • Akka 流如何不断实现?

    我在用阿卡流 http doc akka io docs akka stream and http experimental 1 0 scala stream index html在 Scala 中进行轮询AWS SQS https aws
  • 在 databrick 上运行时将 PySpark 标准输出和标准错误日志保存到云对象存储

    我正在标准 databricks 集群上运行 PySpark 数据管道代码 我需要保存所有 Python PySpark 标准输出和标准错误消息存储到 Azure BLOB 帐户中的文件中 当我在本地运行 Python 代码时 我可以在终端
  • 如何重新分发使用 Crystal Reports 的 VB 6 应用程序?

    假设目标系统有 Crystal Reports for Visual Studio 2008 我如何将可执行的 VB 6 应用程序与报告文件一起分发 仅移动可执行文件和报告文件是行不通的 我想知道如何创建可再发行包 我们使用CR10 我的建
  • 优化子查询选择每组最后一条记录

    我有这个查询 它是一个依赖查询并且需要很多执行时间 SELECT u id u user name ifnull select longitude from map where user id u id order by map id de
  • Django QuerySet 不返回任何内容

    我有一个国家 地区列表 例如 它们都有自己的网址 www example com al 每个国家 地区都有一个城市列表 但 object list 为空 My View class CityOverview generic ListView
  • 如何使嵌入式视图控制器成为响应者链的一部分?

    我正在使用情节提要开发 Mac 应用程序 我有一个窗口显示NSViewController作为其内容 其中包含一个 容器视图控制器 其中嵌入了NSSplitViewController 预期的行为是NSSplitViewController
  • 无法使用 sqldf 对 R 中的函数使用rank()

    arm lt as data frame matrix c 1 1 1 2 2 6 7 4 9 10 ncol 2 colnames arm lt c a b 这是我在 R 中创建的数据集 现在我想对 b 列进行排名并按 a 列进行分组 无
  • 不允许使用默认特殊成员函数的多个版本 (MSVC)

    这是有效的 C 代码吗 struct S S S const default S S default Context 我尝试通过将这两行添加到以下代码中来处理歧义S godbolt https godbolt org z j9znrY6ef
  • 使用多个视图以编程/动态方式创建 LinearLayout

    我有一个像这样的层次结构 LinearLayout horizontal 图像视图 LinearLayout vertical TextView TextView TextView TextView 我希望能够通过迭代添加上面的层次结构 只