Android/ViewBinding

ViewBinding 사용하기.(findViewById 대체)

${Harvey} 2022. 11. 21. 22:41

 

 

    kotlinOptions {
        jvmTarget = '1.8'
    }
    //ViewBinding을 사용하기위해 아래코드 추가.
    buildFeatures{

        viewBinding = true

    }

}

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'
 

build.gradle에 ViewBinding 사용을 위해 코드 추가.

 

 

Activity Ex.

class MainActivity : AppCompatActivity() {

    private lateinit var binding : ActivityMainBinding


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

        binding = ActivityMainBinding.inflate(layoutInflater)
        val view = binding.root
        setContentView(view)

        binding.testText.text = "이것은 변경된 텍스트."
      
    }
}
 

Fragment Ex.

class TestFragment : Fragment() {

    private var _binding : FragmentTestBinding? = null

    private val binding get() = _binding!!

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        _binding = FragmentTestBinding.inflate(inflater,container,false)
        val view = binding.root

        binding.fragmentText.text = "이것은 fragment Text"


        return view
    }


}
 

 

 

 

    kotlinOptions {
        jvmTarget = '1.8'
    }
    //ViewBinding을 사용하기위해 아래코드 추가.
    buildFeatures{

        viewBinding = true

    }

}

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'
 

build.gradle에 ViewBinding 사용을 위해 코드 추가.

 

 

Activity Ex.

class MainActivity : AppCompatActivity() {

    private lateinit var binding : ActivityMainBinding


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

        binding = ActivityMainBinding.inflate(layoutInflater)
        val view = binding.root
        setContentView(view)

        binding.testText.text = "이것은 변경된 텍스트."
      
    }
}
 

Fragment Ex.

class TestFragment : Fragment() {

    private var _binding : FragmentTestBinding? = null

    private val binding get() = _binding!!

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        _binding = FragmentTestBinding.inflate(inflater,container,false)
        val view = binding.root

        binding.fragmentText.text = "이것은 fragment Text"


        return view
    }


}