open coding

Spinner - adapter이용 - 회원가입, 게시판에 주로 이용 - open

◀ ▷ ▶ ♤ ♠ ♡ ♥ ♧ ♣ ⊙e 2020. 10. 21. 04:09
반응형

package com.example.spinner;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    // spinner 구성할 문자열
    String [] data1 = {"spinner1", "spinner2","spinner3","spinner4"};

    //define variables
    Spinner spin1;
    TextView text1;

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

        //connect to xml id
        spin1 = findViewById(R.id.spinner1);
        text1 = findViewById(R.id.textView1);


        //Adapter 생성 (문자열 하나만 쓸거라 ArrayAdapter이용)  - layout 2개필요
        ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data1);

        //dropdown으로 나타나는 항목 리스트의 뷰
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // spinner에 adapter 적용
        spin1.setAdapter(adapter1);

        // listener setting - spinner 클릭시
        SpinnerListener listener = new SpinnerListener();
        spin1.setOnItemSelectedListener(listener);
    }
 // finish @override

    // buttond 누르면 인덱스값 보여주기 method setting - onclick설정도 해줘야함
    public void btnMethod(View view){
        //현재 스피너에 선택되어있는 항목의index추출
        int index = spin1.getSelectedItemPosition();
        text1.setText("choosed : " + data1[index]);
    }


    //listener method
    class SpinnerListener implements AdapterView.OnItemSelectedListener{

        //항목 선택시 바로 반응하는
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         text1.setText(data1[position]);
        }

        @Override       //아무것도 선택안할떄.
        public void onNothingSelected(AdapterView<?> parent) {

        }

    }
    // listener method finish

}