当前位置: 首页 > 知识库问答 >
问题:

如何使用从旋转器中选择的项

韶浩博
2023-03-14

我有旋转器。我用数据库表中的数据(一列)填充了它。现在,当用户从Spinner中选择一个项目时。我想在数据库中的一个函数,它返回所选项目的相应主键。在我的主活动中,主键应该存储在变量中。我怎么能这么做。

这是我在main Activity中的代码

if(spinner.getSelectedItem() != null){
    spinner_text = (String) spinner.getSelectedItem();
    try {
        substation_number = myDB.spinnerResult(spinner_text);
    } catch (NumberFormatException e) {
        Toast.makeText(getApplicationContext(), "Please select an item", Toast.LENGTH_SHORT).show();
    }
}

这是我在数据库中的函数:

public int spinnerResult(String item_name){
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("Select substationNo from " + TABLE_NAME + " where item_name = ?", new String[]{item_name});
    return Integer.parseInt(String.valueOf(cursor));
}

共有1个答案

侯博易
2023-03-14

通过rawquery()获取的游标最多应返回1行(如果item_name在表中唯一)和1列。
您必须检查moveToFirst()传递的item_name是否在表中存在,然后从游标中提取substationno的值:

public int spinnerResult(String item_name){
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("Select substationNo from " + TABLE_NAME + " where item_name = ?", new String[]{item_name});
    int result = 0; // you may change this
    if (cursor.moveToFirst()) result = cursor.getInt(0);
    cursor.close();
    db.close();
    return result;
}

如果表中不存在传递的item_name,则函数返回0,如果需要,可以将其更改为-1,并且可以检查该函数以验证是否找到了item_name

 类似资料:
  • 我创建了一个包含5个项目的,还创建了5个按钮。我想做的是将一个按钮关联到旋转器中的一个项目。所以当我点击一个按钮时,一个相应的项目就会被选中。例如: 我的旋转器里有5个项目:

  • 你好,我希望用户能够点击一个旋转器,并从我提供的选择一年。我会提供一个从1970年到今年的范围,但我不知道如何实现它。 然后我需要手工添加40多个项目,我需要每年手动更新应用程序。此外,spinner onClick回调返回的不是字符串值,而是数组中字符串的索引,例如,1972就是索引3。 此外,我将提供另一个旋转器,其中用户将选择一年,大于或等于一年的选择在第一个旋转器。 最后,我希望结束一个a

  • 我在代码中实现旋转器时遇到了问题。不太清楚它是怎么工作的。但是这里有一个我想做的简单的想法。(例如:点击旋转器,你有两个选项“第2页”和“第3页”。所以,如果你点击“第2页”,它会转到有新内容的第2页。有什么方法可以做到这一点吗?? 我也有图像按钮去下一页和返回。只想实现一个旋转框,这样你就可以更快地导航到不同的页面。 } 05-22 01:32:40.058:E/SpannableStringB

  • 我是新来的蟒蛇。我真的很想知道如何从SELECT中获得我的选项。在下面列出的情况下,我想选择select标记的第一个选项。 我尝试了很多方法,但都失败了。当前错误为“元素当前不可见,可能无法操作”。使用索引不会出错,但不会显示任何内容 没有打印源代码的输出如下所示: 这是网站的源代码 我注意到,实际上它设法检测选择的所有8个选项,但就在尝试更新选项时,出现了一些错误。 更具体地说,错误是(万一有用

  • 问题内容: 我想选择,,从多个选择其中有10个选项。我只想选择这三个选项。 HTML代码: selenium键代码: 我尝试使用此代码。使用此代码,我可以选择第一个选项,即“ P0_ENGLISH”。但是,选择第一个选项后,我得到一个错误: 问题答案: 要从 Multi Select 元素中选择多个 选项 ,可以使用 ActionChains 模拟 Control单击* ,如下所示: *