나는 이것이 간단하고 그냥 바보 같은 일을 간과하거나하고 있다고 확신하지만 데이터베이스에 많은 입력을 저장하고 있습니다. 하나는 스피너에서 선택한 옵션입니다.이전 스피너 선택을 기반으로 스피너 선택 설정하기
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));
을 지금은 특정 활동을 열려고있을 때 나는 다음과 같은 로그 캣 오류 얻을 : 내 DB에 저장된 스피너 선택에 따라
java.lang.NumberFormatException: Invalid int: "N"
을, '잘못된 int'편지가 바뀔 수 있습니다. 본질적으로, 전체 DB 문자열의 집합, I는 회 전자의 positionId해야한다 최초의 제로 인덱스의 문자를 발견, 숯불로 변환, 그것을에서 당기는거야
".getSelectedItemPosition() + " Position");"
따라서 추가 텍스트로 저장되고 선택 및 변환을 int로 변환하고 마지막으로 해당 int를 사용하여 동일한 배열에서 읽는 새 회 전자에 선택 항목을 설정합니다.
아래로 도움을 청합니다.
디버그 로깅을 추가하고 다음과 같이 출력하십시오.'takeBundledData.getString ("clickeduCategPos")'. 그것은 아마 당신이 생각하는 것이 아닙니다. –
죄송합니다. 아마도이 문제를 도와 줄 수 있습니다. 내가 사용하고있다 'bundleduCategoryPos = takeBundledData.getString ("clickeduCategPos"); \t \t Log.d (TAG, bundleduCategPos); ' 로그에 아무것도 나타나지 않습니다. 이 일을 제대로하고 있습니까? 내가 logcat에서 출력을 볼 수 있어야한다고 가정? – Ronnie
출력을 확인하기 위해'setSelection()'을 차단하고 텍스트 뷰와 토스트를 사용했습니다. 'takeBundledData.getString ("clickeduCategPos")의 출력은 올바른 "4 Position"입니다. 'String.valueOf (bundleduCategoryPos.charAt (0)); '의 결과는 4이며 올바른 것입니다. 'Integer.parseInt (CategoryPosition)'을 실행하려고하면 충돌이 발생하므로 변환과 관련이 있습니다. string을 int로 변환하는 또 다른 방법을 알고 있습니까? – Ronnie