使用AlertDialog.Builder的setSingleChoiceItems按ID而不是位置

时间:2011-08-24 17:06:21

标签: android listview dialog alertdialog

我正在使用AlertDialog显示数据库中的单个选项列表。我使用AlertDialog.Builder来构建它,但是在这种情况下我应该如何使用setSingleChoiceItems方法。

具体来说,我知道在首次显示对话框时应该检查哪个项目,但我知道按ID而不是位置。 setSingleChoiceItems方法需要选定项目的位置,而不是ID。

我想到了两种不同的方法来解决这个问题,但它们似乎都没有“正确”:

  1. 在使用构建器之前,查询数据库并计算行直到我 找到我想要选择的ID。现在我知道了这个位置。 这看起来很糟糕,因为它需要第二次数据库查询。
  2. 使用构建器后,遍历列表项并找到 一个具有我想要的ID,然后在事实之后选择它。 这有效,但这意味着我需要在-1中加一个 setSingleChoiceItems调用然后再设置它。这感觉就像一个 黑客攻击我。
  3. 所以,我的问题是,还有其他一些我错过的更好的方法吗?或者上述任何一种方法都是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您的ID也是整数,您可以将位置本身设置为ID。