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

如何使用CursorAdapter按值设置微调器选择

芮祺
2023-03-14

我有一个从数据库中填充的微调器。我想从列表中选择默认情况下选择的项目。我需要找出列表中的哪个项目(CursorAdapter)具有“默认离开”的值,并将其设置为所选值。

    Spinner away_team_spinner = (Spinner)findViewById(R.id.away_team_spinner);
    DatabaseHelper db = new DatabaseHelper(this);
    Cursor team_list = db.getTeams(p_game_level);
    startManagingCursor(team_list);

    String[] team_name = new String[]{colTeamName};
    int[] to = new int[]{android.R.id.text1};
    SimpleCursorAdapter adapter =
      new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, team_list, team_name, to );
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
    away_team_spinner.setAdapter(adapter);

    //// HERE IS WHERE MY ERRORS START ////

    Log.i("NEW_GAME","Before set arrayadapter");
    CursorAdapter adapter_choose = (CursorAdapter)away_team_spinner.getAdapter();
    Log.i("NEW_GAME","Before set setSelection");
    away_team_spinner.setSelection(adapter_choose.getPosition("Default Away"));

这是我在这个网站上搜索找到的“解决方案”。但是,我不能在CursorAdapter对象中使用“getPotion”。我尝试了ArrayAdapter,但是“在设置之前”后面的行注释错误为“android.widget.SimpleCursorAdapter不能转换为android.widget.ArrayAdapter”。我做错了什么?谢谢。

共有1个答案

王才
2023-03-14

你有没有想过运行一个for循环,直到你找到位置,然后这样设置适配器位置?我起草一些代码然后测试它,我正在做类似的事情

好吧,这只是做了诀窍,享受!

    int cpos = 0;

    for(int i = 0; i < simpleCursorAdapter.getCount(); i++){
      cursor.moveToPosition(i);
      String temp = cursor.getString((your column index, an int));
      if ( temp.contentEquals(yourString)){
        Log.d("TAG", "Found match");
        cpos = i;
        break;
      }
    }
    spinner.setSelection(cpos);
 类似资料:
  • 我有一个微调器,由字符串数组填充。xml,用户将其设置为某物,我将其保存到首选项-我希望在打印字符串时保存字符串,而不是位置。现在,当用户返回时,我想将微调器设置为先前选择的值。 如果我做了 这是可行的,但工作室警告我不要随意选角。有没有正确而漂亮的方法可以做到这一点?或者我必须从字符串资源数组中创建ArrayAdapter并在那里搜索吗?

  • 问题内容: 我正在尝试从中获取选定的项目字符串。到目前为止,我已经得到了: 这是行不通的,并提供了一个类强制转换异常(我想我可以将a强制转换为继承它的小部件。显然不行!)那么,如何获得选定的a值呢? 问题答案: 要获得微调器的选定值,您可以按照以下示例操作。 创建一个实现AdapterView.OnItemSelectedListener的嵌套类。这将提供一个回调方法,当从微调器中选择一个项目时,

  • 我有一个微调器,里面填充了来自XML的字符串数组: 当用户选择某个内容时,我将其保存到SharedReferences。下次打开应用程序时,如何设置该值?我只保存了值,而没有保存它在微调器列表中的位置 如果我只做旋转单位。适配器要获得适配器,如何安全地投射SpinnerAdapter!到ArrayAdapter?还是这是错误的方法?

  • 问题内容: 我有下一个模板: 并将结果值存储在中。 如何将元素标记为PHP? 谢谢! 问题答案: 手动方式..... 更好的方法是遍历利益

  • 我有一个字段,其中有一些选项。现在我需要使用jQuery选择这些中的一个。但是,当我只知道必须选择的的时,如何做到这一点呢? 我有以下HTML: 我需要选择值为的选项。如何才能做到这一点呢? 下面是一个演示页面:http://jsfidle.net/9stxb/

  • 添加颜色微调器 更新片段 这是我第一次问问题,我是一名新的程序员,一直在尝试使用kotlin和java的android。我有一个应用程序,允许用户添加一件衣服,选项是通过微调器设置的。问题在于,当用户从保存的微调器中选择一个项目时,以及当我想要更新值时,如图所示,蓝色文字表示棕色是从“添加服装项目”微调器中选择的选项,但微调器显示灰色。是否有办法将微调器设置为棕色,而不是默认值。