본문 바로가기
안드로이드

[Android] GridView

by 엘딘 2022. 3. 25.
1. activity_main.xml
// GridView에서 클릭한 문구 TextView에 표시
<TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        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.093"/>

<GridView
        android:id="@+id/grid"
        android:numColumns="auto_fit"
        android:columnWidth="100dp"
        android:layout_width="576dp"
        android:layout_height="752dp"
        tools:ignore="MissingConstraints"
        app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" android:layout_marginTop="28dp"/>

 

2. item_spinner
// GridView안에 표시할 문자
<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"/>

 

 

3. MainActivity
class MainActivity : AppCompatActivity() {

	// GridView에 표시할 item data
    var items = arrayOf(
        "서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
        "서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
        "서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백",
        "서울", "부산", "대구", "광주", "인천", "목포", "여수", "태백"
    )


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val textView = findViewById<TextView>(R.id.textView)
        //val textView = findViewById<View>(R.id.textView) as TextView
        val grid = findViewById<GridView>(R.id.grid)

		// grid와 item을 연결
        grid.setAdapter(
            ArrayAdapter(this, R.layout.item_spinner, items)
        )

		// grid를 클릭시 textView에 표시
        grid.setOnItemClickListener{ parent, view, position, id ->
            textView.text = items[position]
        }

    }
}

 

 

'안드로이드' 카테고리의 다른 글

[Android] 서버에 저장된 이미지 가져오기  (0) 2022.03.28
[Android] VideoView  (0) 2022.03.25
[Android] ScrollView  (0) 2022.03.25
[Android] ListView  (0) 2022.03.25
[Android] ListView  (0) 2022.03.24

댓글