これは単純だと確信しており、見落としているか愚かなことをしているだけですが、多くの入力をデータベースに保存しています.1つはスピナーで選択されたオプションであり、次を使用してテキストとして保存しています。
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"
DB に保存されたスピナーの選択に応じて、その「無効な int」文字が変わる可能性があります。基本的に、データベース全体が文字列のセットとして保存されるため、追加のテキスト
".getSelectedItemPosition() + " Position");"
私はそれを引き込んでcharに変換し、スピナー選択のpositionIdである必要がある最初のゼロインデックス文字を見つけ、それをintに戻し、最後にそのintを使用して新しいスピナーに選択を設定します。同じ配列から読み取ります。
唖然とした支援をお願いします。