【问题标题】:Numerous android spinners众多安卓旋转器
【发布时间】:2016-06-05 09:21:49
【问题描述】:

我正在设计一个“分数输入”应用程序,它基本上会记录给定日期的所有游戏(在任何给定日期范围内可以从几个到几百个不等)并将它们列出以供分数输入。每场比赛显然有2分(每队1分)。当然,我正在为每个团队得分填充 0-30 的 android 微调器进行得分选择。列出的每个游戏都有一个唯一的 id(从 MySQL 数据库获得),这就是我用作每个微调器的 id。

我遇到的问题:我为每场比赛创建了所有微调器(我们将它们称为 spinner1 [for 1st team] 和 spinner2 [for 2nd team])。它们都同时列在应用程序中(由于游戏结束的时间不同等原因需要发生)。当我测试哪个微调器 ID 进行了选择时,它总是返回相同的 Id,这意味着当我将微调器数据发送回 php 以解码和更新数据库时 - 它会更新相同的游戏 id,这对我没有不错。

我真正想做的是创建名称为“spinner1”+ gameid 的每个微调器,但从我所阅读的内容来看,这是不可能的。我需要在输入分数时发回正确的游戏 ID,我猜我的问题是每次通过创建微调器的循环都没有 spinner1 和 spinner2 的唯一标识符。由于一天内可能发生的游戏数量不同,它们必须动态创建。

任何建议:

【问题讨论】:

  • 您可能会使用类似于myspinner.setTag(thisgame) 的标签(在创建微调器时)。然后使用类似于thisgame = (vartype) myspinner.getTag(); 的内容(发送/发布数据时)。
  • 你能提供一个minimal reproducible example的问题吗?
  • MikeT - 我从没想过标签 - 这可能有用 - 谢谢。
  • cricket_007 - 我将尝试 MikeT 的建议 - 如果我仍然无法到达我需要做的地方,我会告诉你
  • MikeT - 相同类型的问题 - 无论是我标记它还是 ID 它 - 侦听器检测到的只是“最后一个”游戏 ID。理想情况下,我真正需要的是: Spinner spinner1[] = new Spinner;我可以重复使用 spinner1 和 spinner2 作为微调器名称,只需在每个循环游戏中添加一个新的“数组”微调器。无论如何现在都必须停下来 - 今天发生了很多下雨 - 呃

标签: android spinner


【解决方案1】:

如何从应用程序开始

1) 让应用请求“仍需要分数的游戏”的最新列表。

2) 然后您选择要为哪个游戏设置分数,这会将您带到一个新活动(所有游戏都相同的模板...包含两个微调器,如果您愿意...不需要对于 spinner ids...虽然您必须想办法区分两个团队...也许总是按字母顺序排列)。

只需将游戏 ID 作为附加意图发送到新活动,然后将该活动的分数发布到类似以下内容:

http://yourwebsite.com/uploadscore.php?game=438765387262435&team1score=20&team2score=21

我也认为设置最大可选择分数是个坏主意……你永远不知道会发生什么。

【讨论】:

  • “games-still-needing-scores”建议不起作用 - 需要访问当天的所有游戏,因为有时打电话给分数的人会报告错误,他们需要被改变。至于最大可选择分数 - 有一个原因是 30 - 业务已经有大约 10 年了,我们从未超过过 - 如果/当这种情况发生 - 我会提高限制
【解决方案2】:

感谢您的回复,我已经回答了我自己的问题。当我终于弄清楚时,这几乎是一个 DUH 时刻。我不断返回相同的游戏 ID 的原因是我一直通过微调器名称的 id(即给定游戏中第一支球队的 spinner1)“询问”该 id。当然,在它循环创建给定一天所需的所有微调器之后,spinner1 的 id 在侦听器上的唯一一个是最后一个(我使用 spinner1.getId() 来获取使用的微调器的 id分数变化)。我更改了侦听器以获取父微调器而不是微调器1(即单击的微调器将是父级)并使用: parent.getId();以确保它返回正确的游戏 ID。它是。问题解决了。

【讨论】:

    猜你喜欢
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    相关资源
    最近更新 更多