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

使用不同的游标填充微调器

岳凯康
2023-03-14

我有一个微调器,我用数据库sqlite列中的光标填充它,它工作正常,但并不理想。我添加了另一个微调器来选择列并在微调器中显示,但这是我在构建适配器时遇到的问题。这是我的代码

    cursor = myDB.obtenerColumna(getBaseContext(),elemento);   
    String[] columns = new String[] { "_id", "columna", "columnb", "columnc", "columnd" };
    menudesplegable.setPrompt(getText(R.string.seleccionaEtiqueta)); 

   SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item,cursor,
            columns, new int[] {android.R.id.text1});    

    adapter.setDropDownViewResource
            (android.R.layout.simple_spinner_dropdown_item);       

我从数据库中正确地获取列,但是如果我从其他列传递光标,应用程序无法构建适配器。我尝试只传递String[]中的name列,但也失败了。

谢了。

共有2个答案

古弘
2023-03-14

不需要做所有的事情。

填充第一个微调器后,只需关闭光标即可。

mycursor.close代码

然后对第二个微调器重复相同的逻辑。

李弘光
2023-03-14

我决定这样做:

/**
 * Crea el menú desplegable para seleccionar tiqueta.
 */
public void construirMenuDesplegable(String elemento) {
    // get items of database using selected element in other spinner
    cursor = myDB.obtenerColumna(getBaseContext(), elemento);
    menudesplegable.setPrompt(getText(R.string.seleccionaEtiqueta));

    // Create adapter
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item, cursor,
            new String[] { elemento }, new int[] { android.R.id.text1 });

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // Indicate adapter
    menudesplegable.setAdapter(adapter);

    try {
        myDB.close();
    } catch (Exception e) {
        Log.e("miError", "Error al cerrar db", e);
    }
}

/**
 * Build spinner for select a element for show in other spinner.
 */
public void construirMenuDesplegable2() {
    // Create adapter
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(
            this, R.array.listables, R.layout.custom_spinner);
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    // Indicate adapter
    menudesplegable2.setAdapter(adapter2);
}
 类似资料:
  • 我很难用简单的游标适配器从sqlite数据库填充微调器。我必须使用一个简单的游标适配器,而不是数组适配器。我的主要活动、函数和xml文件如下: 功能如下: xml文件在下面; 当我运行应用程序时,将显示以下屏幕。有数据,但似乎是空的。我有_ id,列的名称。 空微调器 谢谢你的帮助。

  • 问题内容: 我的问题如下: 我需要根据汽车租赁实例中的信息填充“汽车”表。 我需要创建一个主键“ car_id”,但仅针对出租表中的不同车牌。 我正在创建带有序列的car_id。 我尝试了以下代码,但收到错误消息: 尽管这将起作用(没有不同的车牌): (第一行带有注释,因此我可以立即看到要输出的值) 所以!有谁知道我怎么能做?A)获取上面的代码以使用DISTINCT或B)找到一种方法来获取序列的M

  • 问题内容: 我正在尝试通过Ajax获取json对象,并仅用一种值填充Bootstrap Typeahead。 这是我的代码: 我收到 arr为null* 的错误 * 我也尝试过但没有成功: 我该怎么做才能在Typeahed中仅显示我的Json对象的名称值? 如果在“ Ajax成功”中,我将其正确地提醒我的Json对象。 问题答案: 我从头开始: 一个简单的JSON数组在哪里? 如果您的数组具有不同

  • 问题内容: 我有一个WebMethod,它获取要在DataSet中填充DropDown的数据。目前,我正在使用硬编码对象填充下拉列表。但是我想用webmethod返回的数据替换这个硬编码的对象。 客户端(更新1): 问题答案:

  • 我可以在Google地图中绘制多边形。现在,当我在地图上绘制完该区域的多边形时,我想用相同的图标填充该多边形。我可以用颜色填充多边形,但我想用边框有一些填充和图标之间有一些指定空间的图标填充它。我该怎么做?