안드로이드 개발 질문/답변
(글 수 45,052)
cju_optionsSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> _av,View _v,int _index,long arg3){
String option=cju_optionsSpinner.getSelectedItem().toString();
Log.d("Cju_notice",option);
if(option.equals(getResources().getStringArray(R.array.notice_options_Arr)[0])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[0];
refreshNotices("1페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[1])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[1];
refreshNotices("2페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[2])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[2];
refreshNotices("3페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[3])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[3];
refreshNotices("4페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[4])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[4];
refreshNotices("5페이지");
}else {
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[5];
refreshNotices("6페이지");
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
위 소스를 이용해 현재페이지(1페이지)에서 spinner에서 값을 선택시 페이지 이동을 하려는데요
1페이지 가 열리면 spinner 첫번째 값이 선택되면서 다시 refreshNotices에 들어가 무한 루프를 도는 꼴이 되었습니다.
그래서 spinner를 setOnItemClickListener(new OnItemClickListener(){~~~} 를 이용해서 구현해 볼수 있는지
아니면 다른 클릭 이벤트에 맞춰서 링크를 이동할수 있는 방법이 있을가요?
public void onItemSelected(AdapterView<?> _av,View _v,int _index,long arg3){
String option=cju_optionsSpinner.getSelectedItem().toString();
Log.d("Cju_notice",option);
if(option.equals(getResources().getStringArray(R.array.notice_options_Arr)[0])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[0];
refreshNotices("1페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[1])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[1];
refreshNotices("2페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[2])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[2];
refreshNotices("3페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[3])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[3];
refreshNotices("4페이지");
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[4])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[4];
refreshNotices("5페이지");
}else {
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[5];
refreshNotices("6페이지");
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
위 소스를 이용해 현재페이지(1페이지)에서 spinner에서 값을 선택시 페이지 이동을 하려는데요
1페이지 가 열리면 spinner 첫번째 값이 선택되면서 다시 refreshNotices에 들어가 무한 루프를 도는 꼴이 되었습니다.
그래서 spinner를 setOnItemClickListener(new OnItemClickListener(){~~~} 를 이용해서 구현해 볼수 있는지
아니면 다른 클릭 이벤트에 맞춰서 링크를 이동할수 있는 방법이 있을가요?
2010.08.19 17:13:07
boolean isFirst = true;
.....
.....
cju_optionsSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> _av,View _v,int _index,long arg3){
String option=cju_optionsSpinner.getSelectedItem().toString();
Log.d("Cju_notice",option);
if(option.equals(getResources().getStringArray(R.array.notice_options_Arr)[0])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[0];
if(!isFirst) {
isFirst = false;
refreshNotices("1페이지");
}
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[1])){
......
......
.......
isFirst=true;
페이지스피너재생성
이렇게 해도 될거 같은데요
.....
.....
cju_optionsSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> _av,View _v,int _index,long arg3){
String option=cju_optionsSpinner.getSelectedItem().toString();
Log.d("Cju_notice",option);
if(option.equals(getResources().getStringArray(R.array.notice_options_Arr)[0])){
optionsSpinner_value=getResources().getStringArray(R.array.notice_options_values_Arr)[0];
if(!isFirst) {
isFirst = false;
refreshNotices("1페이지");
}
}else if (option.equals(getResources().getStringArray(R.array.notice_options_Arr)[1])){
......
......
.......
isFirst=true;
페이지스피너재생성
이렇게 해도 될거 같은데요