【问题标题】:Assign the size and elements of multi dimensional string array dynamically动态分配多维字符串数组的大小和元素
【发布时间】:2017-02-21 07:16:57
【问题描述】:

我正在尝试使用标题/化身来实现动态网格视图,为此我从link 获得了参考(这是工作室项目link)。在这个参考项目中,我无法动态更新多维字符串数组

多维字符串数组代码

AUTHORS = new String[] { "Roberto Bolao",
  "David Mitchell", "Haruki Murakami", "Thomas Pynchon" };
BOOKS = new String[][] {
  { "The Savage Detectives", "2666" },
  { "Ghostwritten", "number9dream", "Cloud Atlas",
    "Black Swan Green", "The Thousand Autumns of Jacob de Zoet" },
  { "A Wild Sheep Chase",
  ... }};

注意事项:

  1. 我已经动态更新了AUTHORS 数组,但我无法动态更新和定义BOOKS 数组的大小

  2. 请检查我在这里附加的工作室项目,因为我们必须在普通数组 (Authors) 的帮助下更新多维数组 (BOOKS) (如果你运行该项目意味着你将得到清楚地了解我的问题)

【问题讨论】:

  • 请不要发布任何项目链接。取而代之的是,提出最小完整且可验证的问题-> stackoverflow.com/help/mcve
  • 是的,我应该发布与我的问题相关的唯一代码,但我在这里发布了项目,因为它可能对其他一些用户有帮助(实际上原始链接不包含整个项目,所以我已经实现了一些在我的项目中)。我希望每个人都能理解我的担心..
  • jakubbiakowski 说您需要在问题本身中发布您遇到问题的特定代码。您发布的所有内容都是数组。这并没有告诉我们您如何尝试更新它们,而且您不能指望我们下载并运行您的整个项目,然后猜测您到底在哪里遇到问题。此外,当这些链接将来失效时,这个问题对其他人没有太大帮助。

标签: java android arrays listview gridview


【解决方案1】:

更进一步:当您的要求是处理动态数量的元素时;然后使用Java的List接口resp。您的工作的其中一个实现类。

Java 中的数组不是动态的。创建数组后,您唯一能做的就是更改给定数组槽的内容。是的,当你有一个二维数组时,实际上是一个填充了其他数组的数组,你可以“动态地”放入新数组……但同样:这很不方便、麻烦且容易出错。

【讨论】:

  • 感谢您的回答。我会按照你的建议去做,让你知道
【解决方案2】:

可能会过度分配数组以为进一步扩展提供空间。然而,这基本上会给你一个 List 的幼稚实现,所以最好可以使用 List 来避免额外的工作(或更准确地说是任何具体的实现)。作为减轻您大量工作的回报,这些类还将提供更好的功能并且更加稳定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2019-02-10
    • 1970-01-01
    • 2020-12-09
    相关资源
    最近更新 更多