iOS를 사랑하는 AOS 개발자
[Android] 안드로이드 Spinner 선택 값 가져오기 본문
반응형
SMALL
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻
안녕하세요! 🙋🏻♀️
2021.12.30 - [Android ( JAVA )/개발] - [Android] 안드로이드 Spinner + 커스텀 (feat.values)
[Android] 안드로이드 Spinner + 커스텀 (feat.values)
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 안녕하세요! 인터넷 사용하다 보시면 이렇게 select 할수있는걸 보셨을꺼에요! 안드로이드 위젯에도 이러한
devziner.tistory.com
안드로이드 Spinner 의 간단 사용법을 작성해봤었는데,
이번엔 Spinner 의 선택한 값을 가져와서 활용(?) 하는 코드를 짜보려고 해요!!!
자 이제 코드 짜러 가봅시당🤗
반응형
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:padding="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="애플 제품 목록"
android:textSize="20dp"
android:paddingRight="20dp"
/>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/border"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="30dp"
>
<ImageView
android:id="@+id/iv_item"
android:layout_width="300dp"
android:layout_height="300dp"
/>
<TextView
android:id="@+id/tv_item_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="30dp"
android:layout_marginTop="20dp"
/>
</LinearLayout>
</LinearLayout>
이전 발행글에서 <ImageView> 와 <TextView> 만 추가 되었습니다!!!
MainActivity
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
ImageView iv_item;
TextView tv_item_name;
ArrayAdapter<String> adapter = null;
Spinner spinner = null;
String[] items = {"상품을 선택해주세요", "아이폰", "에어팟", "아이패드", "애플펜슬", "맥북", "애플워치", "아이맥", "맥미니", "아이팟"};
int[] itemImgs = {R.drawable.applelogo, R.drawable.iphone13, R.drawable.airpod, R.drawable.ipad,
R.drawable.applepencil, R.drawable.macbookpro14, R.drawable.applewatch,
R.drawable.imac, R.drawable.macmini, R.drawable.ipodtouch };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_item = findViewById(R.id.iv_item);
tv_item_name = findViewById(R.id.tv_item_name);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
spinner=findViewById(R.id.spinner);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
iv_item.setImageResource(itemImgs[i]);
tv_item_name.setText(items[i]);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
iv_item.setImageResource(itemImgs[0]);
tv_item_name.setText(items[0]);
}
}
AdapterView.OnItemSelectedListener
이 Listener 를 상속받아
onItemSelected 와 onNothingSelected 메소드를 오버라이드 합니다!
onItemSelected 메소드 안에 선택된 index 값으로 배열에 선언된 index를 불러오게 되는겁니다!!
쏘쏘쏘쏘쏘 간단하쥬?🥴
SMALL
틀린부분이 있거나, 궁금하신게 있거나, 그냥 아무말이나 하고싶으면 댓글 남겨주세요 🥴
봐주셔서 감사합니다 🥰
반응형
LIST
'Android ( JAVA ) > 개발' 카테고리의 다른 글
[Android] Log 사용해보기 (0) | 2022.05.22 |
---|---|
[Android] 안드로이드 ToggleButton, Switch 사용법 (0) | 2022.03.05 |
[Android] 안드로이드 JSON 사용하기 (feat.RecyclerView) (0) | 2022.01.17 |
[Android] 안드로이드 WebView 사용하기 (0) | 2022.01.11 |
[Android] 안드로이드 RecyclerView로 인스타그램 만들어보기 ( feat.Adapter ) (0) | 2022.01.05 |
Comments