我确信这很简单,我只是忽略或做一些愚蠢的事情,但我将许多输入保存到数据库中,其中一个是微调器中选择的选项,并将其存储为文本使用:
idCategory = (add_category_spinner.getSelectedItemPosition() + " Position");
现在,在另一个活动中,我正在尝试将另一个微调器设置为完全相同的选择。我正在使用:
private String CategoryPosition
onCreate(...etc)
update_category_spinner = (Spinner) findViewById(R.id.update_category_spinner);
ArrayAdapter<CharSequence> category_adapter = ArrayAdapter.createFromResource(
this, R.array.category_array, android.R.layout.simple_spinner_item);
category_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
update_category_spinner.setAdapter(category_adapter);
bundleduCategPos = takeBundledData.getString("clickeduCategPos");
CategoryPosition = String.valueOf(bundleduCategPos.charAt(0));
update_category_spinner.setSelection(Integer.parseInt(CategoryPosition));
现在,当我尝试打开该特定活动时,我收到以下 logcat 错误:
java.lang.NumberFormatException: Invalid int: "N"
根据保存到我的数据库中的微调器选择,“invalid int”字母可能会改变。本质上,整个数据库被保存为字符串集,因此附加文本
".getSelectedItemPosition() + " Position");"
我将其拉入,转换为 char,找到第一个零索引字符,它应该是微调器选择的 positionId,并将其转换回 int,最后使用该 int 将选择设置在新微调器上从同一个数组中读取。
请提供一些愚蠢的帮助。