IT/Android

[안드로이드] Spinner(스피너, ListBox)이용하기

데브렉스 2011. 9. 20. 22:26
반응형
# 스피너에서 setSelection 시에 스피너의 selected 리스너가 한번더 호출되는 문제를 해결하기 위해서 flag를 이용하였다.

Spinner spin_freeboard = (Spinner)findViewById(R.id.droplist_board);
spin_freeboard.setPrompt("분류를 선택하세요");
ArrayAdapter<CharSequence> adaptSpin = ArrayAdapter.createFromResource(this, R.array.touchboard_filter, android.R.layout.simple_spinner_item);
adaptSpin.setDropDownViewResource(android.R.layout.simple_spinner_item);
spin_freeboard.setAdapter(adaptSpin);
//수정시 게시판필터에 일치하는 타입넣기
Resources res = getResources();
String[] _items= res.getStringArray(R.array.touchboard_filter);
for (int i = 0; i < _items.length; i++) {
    if (_items[i].equals(type)){
        spin_freeboard.setSelection(i);
    }
}//
//spin_freeboard.setSelection(i);

spin_freeboard.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View arg1,
                    int position, long id) {
                // TODO Auto-generated method stub
                if (spinner_lock_board == 0)//처음에 뜰때에도 호출되던 문제 해결
                    spinner_lock_board = 1;
                else{
                    //필터 처리
                }
            }
           
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO Auto-generated method stub
           
            }
        });
반응형