마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Spinner 질문입니다... [closed]

0 추천
public class MainActivity extends Activity {

    Spinner depart_line;
    Spinner depart_station;
    Spinner arrive_line;
    Spinner arrive_station;

    ArrayAdapter<CharSequence> adapter1, adapter2, adapter3, adapter4;

    String Depart_station; // 출발역
    String Arrive_station; // 도착역

    String data;
    String data2;
    int token;
    String data3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        StrictMode.enableDefaults();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final Spinner depart_line = (Spinner)findViewById(R.id.depart_line);
        final Spinner depart_station = (Spinner)findViewById(R.id.depart_station);

        adapter1 = ArrayAdapter.createFromResource(this, R.array.Line_depart, android.R.layout.simple_spinner_dropdown_item);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        depart_line.setAdapter(adapter1);

        depart_line.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                if (adapter1.getItem(position).equals("1호선")){
                    adapter2 = ArrayAdapter.createFromResource(MainActivity.this, R.array.Line_1, android.R.layout.simple_spinner_dropdown_item);
                    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    depart_station.setAdapter(adapter2);
                    Depart_station = depart_station.getSelectedItem().toString();//출발역 반환
                }
                // 이하 생략

            }

현재 지하철 어플을 만들고 있는데 디버깅 시, Depart_station에 선택한값이 아니라 다른 값이 뜨네요 ㅠㅠ 무슨 문제인지 알려주세요...

질문을 종료한 이유: 다시 질문하게요
jini5569 (160 포인트) 님이 2020년 5월 13일 질문
jini5569님이 2020년 5월 14일 closed

1개의 답변

0 추천
depart_station.setAdapter(adapter2);

때문으로 보입니다.

adapter를 교체하는 것 자체가 부자연스럽긴 한데, 가장 나중에 처리하는게 좋을 듯 합니다.

 

디자이너정 (42,810 포인트) 님이 2020년 5월 13일 답변
저부분은 스피너를 두개써서 저렇게 한건데 문제가 있나요....?
...