app - src - main - res - layout Layout리소스파일 만들기
// item_spinner.xml파일
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="45dp"
android:paddingTop="10dp"
android:paddingStart="30dp"
android:textColor="@android:color/darker_gray"
android:textSize="15sp"
android:paddingLeft="30dp"/>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.073"
app:layout_constraintHorizontal_bias="0.501"/>
<ListView
android:id="@+id/listView"
android:layout_width="600dp"
android:layout_height="541dp"
tools:ignore="MissingConstraints"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"/>
</androidx.constraintlayout.widget.ConstraintLayout>
class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
var items = arrayOf( // 스크롤되는것을 보기위해 중복해서 넣음
"서울", "부산", "대구", "광주", "대전", "울산", "전주", "목포",
"제주", "강원", "태백", "인천", "서울", "부산", "대구", "광주",
"대전", "울산", "전주", "목포", "제주", "강원", "태백", "인천",
"서울", "부산", "대구", "광주",
"대전", "울산", "전주", "목포", "제주", "강원", "태백", "인천"
)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val listView = findViewById<View>(R.id.listView) as ListView
val textView = findViewById<TextView>(R.id.textView)
textView.setTextSize(Dimension.SP, 28.0f)
// Adapter
// item_spinner레이아웃에 items들을 각각 넣어서 adapter라는 변수에 저장
val adapter:ArrayAdapter<*> = ArrayAdapter<Any?>(this, R.layout.item_spinner, items)
// listView가 가진 adapter에 위에서 만든 adapter를 저장
listView.adapter = adapter
// onItemClick함수를 this
listView.onItemClickListener = this(MainActivity)에서 실행
}
// 각 항목(items)들을 터치 시 textView의 문구가 해당 항목값으로 바뀜
override fun onItemClick(p0: AdapterView<*>?, p1: View?, pos: Int, p3: Long) {
val textView = findViewById<TextView>(R.id.textView)
textView.text = items[pos]
}
}
제주 터치시 textView의 text변경
스크롤기능도 정상 작동