DBILITY

안드로이드 layout 하위 view 순회하기 본문

android

안드로이드 layout 하위 view 순회하기

DBILITY 2024. 2. 21. 17:51
반응형

ConstraintLayout에 Button을 9개 배치했다. Text나 Event를 코드로 일괄로 주고 싶었음.

Layout에 모두 들어가니 layout.children하면 내부의 모든 View가 들어 있다.

 

package com.dbility.apps.myreview01

import android.annotation.SuppressLint
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Button
import androidx.core.view.children
import androidx.lifecycle.ReportFragment.Companion.reportFragment
import com.dbility.apps.myreview01.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    private val binding by lazy {
        ActivityMainBinding.inflate(layoutInflater)
    }
   
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)

        var num = 1;
        binding.run {
            for ( view in constraintLayout.children) {
                Log.d("A",(view is Button).toString())
                if(view is Button) {
                    view.text = "button${num}"
                    view.setOnClickListener {
                        startActivity(Intent(this@MainActivity,SubActivity::class.java))
                        finish()
                    }
                    num++
                }

            }
        }


    }
}
반응형
Comments