세 개의 스피너가있는 레이아웃이 있습니다. 드롭 다운에 표시되는 옵션이 다릅니다. 내 onCreateView
에는 회 전자를 설정하는 방법이 있습니다. 그 방법 안에는 다음과 같은 것이 있습니다 :화면 회전 후 Android 스피너 onItemSelected가 여러 번 호출되었습니다.
mySpinner = (Spinner) view.findViewById(R.id.my_spinner);
ArrayAdapter<String> mySpinner =
new ArrayAdapter<String>(getActivity(), R.layout.background,
new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.spinner_one_data))));
mySpinner.setDropDownViewResource(R.layout.spinner_text);
mySpinner.setAdapter(mySpinner);
mySpinner.setOnItemSelectedListener(this);
제가 말했듯이, 다른 두 스피너는 거의 같지만 옵션은 다양합니다.
저는 "첫 번째 설정"의 모든 회 전자마다 한 번씩 onItemSelected
이 호출되므로이 문제를 방지하는 플래그가 있음을 알고 있습니다. 이 플래그 솔루션으로 내 스피너가 예상대로 작동합니다. 문제는 각 회 전자에서 옵션을 선택한 다음 화면을 회전 할 때입니다. 자, onItemSelected
은 내가 예상했던 3 번 대신 6 번 호출됩니다 (나는 3 번 호출의 상황을 관리하기위한 플래그를 설정했습니다).
왜 이런 일이 발생하고 괭이를 처리해야합니까?
당신이 당신의 mainefest –
번호 I에서 화면 회전을 처리 되세요 매니 페스트를 변경하고 싶지는 않습니다. 나는 그것을해야합니까? – Favolas
mainefest를 변경하지 않고 응용 프로그램에 방향 변경시 요소를 다시 그리지 않도록 처리기를 추가하면 요소를 다시 그려서 메서드가 실행됩니다. –