La position actuelle:Accueil du site>Classe interne anonyme de kotlin (objet: XXXX)

Classe interne anonyme de kotlin (objet: XXXX)

2022-07-23 00:47:32Sabreur à double tranchant

1.Implémenter des classes internes anonymes de manière régulière,Expression de l'objet:

window.addMouseListener(object : MouseAdapter() {
    override fun mouseClicked(e: MouseEvent) {
        // ...
    }
 
    override fun mouseEntered(e: MouseEvent) {
        // ...
    }
})

Voici quelques exemples:: 

private fun setAnimation() {
        val alphaAnimation = AlphaAnimation(0.1f,1.0f)
        alphaAnimation.duration = 1000
        val scaleAnimation = ScaleAnimation(0.1f,1.0f,0.1f,1.0f,ScaleAnimation.RELATIVE_TO_SELF,0.5f,ScaleAnimation.RELATIVE_TO_SELF,0.5f)
        scaleAnimation.duration =1000
        val animationSet = AnimationSet(true)
        animationSet.addAnimation(alphaAnimation)
        animationSet.addAnimation(scaleAnimation)
        animationSet.duration = 1000
        iv_icon_splash.startAnimation(animationSet)
        animationSet.setAnimationListener(object : Animation.AnimationListener{
            override fun onAnimationRepeat(animation: Animation?) {
 
            }
 
            override fun onAnimationStart(animation: Animation?) {
 
            }
 
            override fun onAnimationEnd(animation: Animation?) {
                newIntent<MainActivity>()
                finish()
            }
        })
    }
 
 
recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrollStateChanged(recyclerView: RecyclerView?, newState: Int) {
                super.onScrollStateChanged(recyclerView, newState)
                var layoutManager: LinearLayoutManager = recyclerView?.layoutManager as LinearLayoutManager
                var lastPositon = layoutManager.findLastVisibleItemPosition()
                if (newState == RecyclerView.SCROLL_STATE_IDLE && lastPositon == mList.size - 1) {
                    start = start.plus(10)
                    mPresenter.requestData(keyWord, start)
                }
            }
        })

2、 Si l'Instance objet est une interface de fonction (Java Interface avec une seule méthode abstraite ),Peut être utilisélambdaExpression(Java8Soutien initiallambda,À propos deLambda Ce document peut être consulté )Pour réaliser:

val listener = ActionListener { println("clicked") }

Mentions de copyright
Auteur de cet article [Sabreur à double tranchant],Réimpression s’il vous plaît apporter le lien vers l’original, merci
https://fra.chowdera.com/2022/204/202207221415522513.html

Recommandé au hasard