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
}