두 개의 연결된 스피너가 공유 기본 설정으로 저장되지 않음

Coco12

Spinner not saving as Shared / Saved Preference를 사용하여 하나의 스피너를 공유 환경 설정으로 저장할 수 있습니다.

그러나 여러 개의 스피너를 서로 연결해야하고 저장하려고 할 때 문제가 발생하고 이유를 잘 모르겠습니다.

내 스피너가 연결되는 방법은 다음과 같습니다. 첫 번째 스피너를 선택하면 두 번째 스피너가 활성화됩니다.

   spinner = (Spinner)findViewById(R.id.spnMondayExercise); 
    adapter = ArrayAdapter.createFromResource(this, R.array.Exercise, android.R.layout.simple_spinner_dropdown_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {



        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            long item = parent.getItemIdAtPosition(position);
            if (item == 0){
                monExc = 0;
                spinner = (Spinner)findViewById(R.id.spnMondayDuration); 
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner.setAdapter(adapter);
                spinner.setEnabled(false);
            }

그리고 이것은 위의 스피너에 의해 활성화되는 다른 스피너입니다.

//Monday Duration
    spinner = (Spinner)findViewById(R.id.spnMondayDuration); 
    adapter = ArrayAdapter.createFromResource(this, R.array.Duration, android.R.layout.simple_spinner_dropdown_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {



        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            long item = parent.getItemIdAtPosition(position);
            if (item == 0){
                monDur = 0;
            }
            else if (item ==1)
            {
                monDur = .16;
            }
            else if (item ==2)
            {
                monDur = .33;
            }

다음은 내 loadData입니다.

private void loadData() {
SharedPreferences prefs = getPreferences(0);


    spnMondayDuration.setSelection(prefs.getInt("spnMonDur", 0));
    spnMondayExercise.setSelection(prefs.getInt("spnMonExc", 0));

이것이 내가 우선권을 저장하는 곳입니다.

SharedPreferences.Editor editor = getPreferences(0).edit();

                int spnMonDur1 = spnMondayDuration.getSelectedItemPosition();
                int spnMonExc1 = spnMondayExercise.getSelectedItemPosition();

                editor.putInt("spnMonDur", spnMonDur1);
                editor.putInt("spnMonExc", spnMonExc1);
                 editor.commit();
베스코

두 스피너의 코드가 동일한 클래스에 있으면 spinneradapter속성을 완전히 엉망으로 만드는 것 입니다. 다른 스피너와 두 개의 다른 어댑터에 대해 두 개의 변수를 만드는 것이 어떻습니까?

onItemSelected()첫 번째 스피너 방법이 잘못되었습니다. 먼저 변수를 두 번째 스피너를 가리키고 어댑터를 설정하고 마지막으로 비활성화합니다.이이면의 의도가 무엇인지 정말 모르겠습니다. 동일한 것을 재사용하고 Spinner다른 데이터 (따라서 다른 의미)로 채우 Spinner시겠습니까 , 아니면 두 개의 별도 보기가 있습니까?

두 개의 다른 Spinners 가 있다고 가정하면 다음과 같이 할 것입니다 (코드는 아직 명확하지 않지만 시작점으로 사용).

// initialize Exercise spinner
spinnerExercise = (Spinner)findViewById(R.id.spnMondayExercise);
adapterExercise = ArrayAdapter.createFromResource(this, R.array.Exercise, android.R.layout.simple_spinner_dropdown_item);
      adapterExercise.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerExercise.setAdapter(adapterExercise);

// initialize Duration spinner
spinnerDuration = (Spinner)findViewById(R.id.spnMondayDuration); 
adapterDuration = ArrayAdapter.createFromResource(this, R.array.Duration, android.R.layout.simple_spinner_dropdown_item);
adapterDuration.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDuration.setAdapter(adapterDuration);

// disable by default until  an exercise is selected
spinnerDuration.setEnabled(false);


spinnerExercise.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, position, long id) {
        long item = parent.getItemIdAtPosition(position);
        if (item == 0){
            monExc = 0;
            spinnerDuration.setEnabled(true);
        }
        ........
    }
}

spinnerDuration.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         long item = parent.getItemIdAtPosition(position);
        if (item == 0){
            monDur = 0;
        }
        else if (item ==1)
        {
            monDur = .16;
        }
        else if (item ==2)
        {
            monDur = .33;
        }
        ......
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

EditText의 텍스트가 공유 기본 설정에 저장되지 않음

분류에서Dev

서버의 데이터가 공유 기본 설정에 저장되지 않음

분류에서Dev

공유 기본 설정으로 오디오 상태가 지속적으로 저장되지 않음

분류에서Dev

두 개의 스피너로 값 연결

분류에서Dev

확장 된 매크로 결과가 정의되지 않기 전에 저장

분류에서Dev

두 개의 체인으로 연결된 모니터가 미러링되고 감지되지 않는 이유는 무엇입니까?

분류에서Dev

첫 번째 선택이 변경 될 때 두 번째 스피너의 위치가 기본값으로 설정 됨

분류에서Dev

공유 기본 설정의 연락처 저장소

분류에서Dev

NSUserDefaults가 공유 확장으로 디스크에 저장되지 않음

분류에서Dev

히스토그램 빈 가장자리가 두 개의 중첩 된 플롯과 정렬되지 않음

분류에서Dev

매개 변수가 설정되었는지 확인하기 위해 Python으로 저장된 텍스트 파일 유효성 검사

분류에서Dev

공유 기본 설정에서 두 값 연결

분류에서Dev

VNC가 저장된 연결에 연결되지 않음

분류에서Dev

기본 dGPU가있는 BIOS에서 iGPU와 dGPU를 모두 활성화 한 후 "btrfs 파일 시스템 검색"무기한 iGPU가 기본으로 설정된 경우 dGPU가 활성화되지 않음

분류에서Dev

순환 연결 목록 C #, 개체 참조가 개체의 인스턴스로 설정되지 않음

분류에서Dev

연결된 키를 기반으로하는 조인을 사용하지 않고 Power Pivot에서 두 개의 개별 테이블의 데이터 결합

분류에서Dev

BIOS가 기본값으로 재설정 된 후 Asus G75VX가 부팅되지 않음

분류에서Dev

두 개의 함수를 연속으로 입력 할 때 Sublimetext 자동 들여 쓰기가 작동하지 않음

분류에서Dev

UITableViewCell의 버튼이 다시로드 후 초기 셀에 연결된 상태로 유지되지 않음

분류에서Dev

SQL은 기본값으로 플래그가 지정되지 않은 연결된 레코드를 찾습니다

분류에서Dev

브라우저 크기를 가장 작은 너비로 조정하는 동안 두 개의 div 블록을 인라인으로 유지

분류에서Dev

CONFIG_NO_HZ가 기본적으로 설정되지 않은 이유

분류에서Dev

바인딩이있는 사용자 정의보기를 사용할 때 "지정된 캐스트가 유효하지 않음"이 표시되지만 수동으로 설정 한 경우에는 표시되지 않는 이유는 무엇입니까?

분류에서Dev

두 개의 동일한 값의 스피너가 서로 의존하는 방식 한 스피너 선택 두 번째 스피너에서 해당 값 숨기기

분류에서Dev

SR 상태가 '종료 됨'으로 설정된 경우 하위 상태는 기본적으로 '해결됨'으로 설정되지 않아야합니다.

분류에서Dev

KVM의 공유 스토리지가 동기화되지 않음

분류에서Dev

정의되지 않은 Generics 유형의 Collections가 다른 클래스에 바인딩 된 경우에도 기본적으로 Object로 설정되는 이유는 무엇입니까?

분류에서Dev

WooCommerce : 로그인하지 않은 사용자의 결제 페이지에서 기본적으로 국가 설정

분류에서Dev

이미지 경로는 이미지를 유지하기 위해 공유 기본 설정에 저장되지 않습니다.

Related 관련 기사

  1. 1

    EditText의 텍스트가 공유 기본 설정에 저장되지 않음

  2. 2

    서버의 데이터가 공유 기본 설정에 저장되지 않음

  3. 3

    공유 기본 설정으로 오디오 상태가 지속적으로 저장되지 않음

  4. 4

    두 개의 스피너로 값 연결

  5. 5

    확장 된 매크로 결과가 정의되지 않기 전에 저장

  6. 6

    두 개의 체인으로 연결된 모니터가 미러링되고 감지되지 않는 이유는 무엇입니까?

  7. 7

    첫 번째 선택이 변경 될 때 두 번째 스피너의 위치가 기본값으로 설정 됨

  8. 8

    공유 기본 설정의 연락처 저장소

  9. 9

    NSUserDefaults가 공유 확장으로 디스크에 저장되지 않음

  10. 10

    히스토그램 빈 가장자리가 두 개의 중첩 된 플롯과 정렬되지 않음

  11. 11

    매개 변수가 설정되었는지 확인하기 위해 Python으로 저장된 텍스트 파일 유효성 검사

  12. 12

    공유 기본 설정에서 두 값 연결

  13. 13

    VNC가 저장된 연결에 연결되지 않음

  14. 14

    기본 dGPU가있는 BIOS에서 iGPU와 dGPU를 모두 활성화 한 후 "btrfs 파일 시스템 검색"무기한 iGPU가 기본으로 설정된 경우 dGPU가 활성화되지 않음

  15. 15

    순환 연결 목록 C #, 개체 참조가 개체의 인스턴스로 설정되지 않음

  16. 16

    연결된 키를 기반으로하는 조인을 사용하지 않고 Power Pivot에서 두 개의 개별 테이블의 데이터 결합

  17. 17

    BIOS가 기본값으로 재설정 된 후 Asus G75VX가 부팅되지 않음

  18. 18

    두 개의 함수를 연속으로 입력 할 때 Sublimetext 자동 들여 쓰기가 작동하지 않음

  19. 19

    UITableViewCell의 버튼이 다시로드 후 초기 셀에 연결된 상태로 유지되지 않음

  20. 20

    SQL은 기본값으로 플래그가 지정되지 않은 연결된 레코드를 찾습니다

  21. 21

    브라우저 크기를 가장 작은 너비로 조정하는 동안 두 개의 div 블록을 인라인으로 유지

  22. 22

    CONFIG_NO_HZ가 기본적으로 설정되지 않은 이유

  23. 23

    바인딩이있는 사용자 정의보기를 사용할 때 "지정된 캐스트가 유효하지 않음"이 표시되지만 수동으로 설정 한 경우에는 표시되지 않는 이유는 무엇입니까?

  24. 24

    두 개의 동일한 값의 스피너가 서로 의존하는 방식 한 스피너 선택 두 번째 스피너에서 해당 값 숨기기

  25. 25

    SR 상태가 '종료 됨'으로 설정된 경우 하위 상태는 기본적으로 '해결됨'으로 설정되지 않아야합니다.

  26. 26

    KVM의 공유 스토리지가 동기화되지 않음

  27. 27

    정의되지 않은 Generics 유형의 Collections가 다른 클래스에 바인딩 된 경우에도 기본적으로 Object로 설정되는 이유는 무엇입니까?

  28. 28

    WooCommerce : 로그인하지 않은 사용자의 결제 페이지에서 기본적으로 국가 설정

  29. 29

    이미지 경로는 이미지를 유지하기 위해 공유 기본 설정에 저장되지 않습니다.

뜨겁다태그

보관