안드로이드 spinner 동작 재질문
조회수 480회
저번에 스피너 질문을 올려 이제 왜 스피너가 동작을 하지 않는지에 대해서는 알게되었습니다만 아직 그 동작을 어떻게 해야하는지는 감을 못 잡고 있습니다.
일단 다시 설명하자면 앱 컨셉은 반복적으로 해야하는 일을 잊지않고 알려주기 위해 시간을 설정하고 버튼을 누르면 그 시간에 맞춰 notification이 오는 앱입니다.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pickTime();
}
});
public void pickTime() {
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(position == 1) {
System.out.println(position);
setClock1();
} else if(position == 2) {
System.out.println(position);
setClock2();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
실행을 하고 버튼을 누르면 아무런 동작도 오류도 없습니다. 스피너를 다른 값으로 바꾸면 버튼을 누르지 않고도 동작을 합니다.
버튼이 눌러서야 스피너의 리스너가 등록이 되어 처음에 동작을 하지 않는다던데 실행을 하고부터 동작을 하게하려면 어떻게 해야하는지 조언 부탁드립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
Activity상에서 코드 작성하신거면
onCreate에다가 스피너 리스너를 등록하세요.
그리고 스피너 아이템 선택할 때마다
어떤 아이템을 선택했는지 변수에 저장을 하시고
button을 누르면 해당 변수에 저장된 값을 확인 후 setClock함수를 호출하도록 하세요.
댓글 입력