이번 시간에는 스피너에 들어가는 데이터를 담을 클래스, 스피너 레이아웃, 데이터와 레이아웃을 연결해주는
스피너 어댑터를 만들어 보겠습니다.
- 설명 -
스피너에 보여줄 데이터를 담는 클래스
data class Fruit(
val fruit_name: String,
val fruit_image: Int
)
- 설명 -
1. 스피너 이미지를 보여주는 ImageView
2. 스피너 텍스트를 보여주는 TextView
3. 아이콘 res -> drawable
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/fruit_image"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/avocado"/>
<TextView
android:id="@+id/fruit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="8dp"
android:text="아보카도"
android:textColor="@android:color/black"/>
</LinearLayout>
- 설명 -
데이터와 레이아웃을 연결해주는 클래스
class FruitAdapter(private val context:Context,
private val fruitList: ArrayList<Fruit>): BaseAdapter() {
override fun getCount(): Int {
return fruitList.size
}
override fun getItem(position: Int): Any {
return fruitList[position]
}
override fun getItemId(p0: Int): Long {
return 0
}
@SuppressLint("ViewHolder")
override fun getView(position: Int, view: View?, viewGroup: ViewGroup?): View {
val rootView: View = LayoutInflater.from(context)
.inflate(R.layout.spinner_layout, viewGroup, false)
//객체 생성
val fruitName: TextView = rootView.findViewById(R.id.fruit_text)
val fruitImage: ImageView = rootView.findViewById(R.id.fruit_image)
//데이터 담기
fruitName.text = fruitList[position].fruit_name
fruitImage.setImageResource(fruitList[position].fruit_image)
return rootView
}
}
2022.07.10 - [안드로이드] - [안드로이드 코틀린] 자동완성 텍스트뷰 쉽게 만드는 방법
2022.07.09 - [안드로이드] - [안드로이드 코틀린] RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법
2022.07.08 - [안드로이드] - [안드로이드 코틀린] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법
[안드로이드 코틀린] 액티비티(Activity)에서 프래그먼트(Fragment)로 데이터 보내는 방법 (0) | 2022.07.15 |
---|---|
[안드로이드 코틀린] Custom Spinner 쉽게 만드는 방법 part2 (0) | 2022.07.14 |
[안드로이드 코틀린] 스피너(Spinner) 드롭다운 배경 색상 바꾸는 방법 (0) | 2022.07.12 |
[안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법 (0) | 2022.07.11 |
[안드로이드 코틀린] 자동완성 텍스트뷰 쉽게 만드는 방법 (0) | 2022.07.10 |
댓글 영역