return@setOnTouchListener true / false

Dohyeon Koยท2021๋…„ 10์›” 1์ผ
0

์•ˆ๋“œ๋กœ์ด๋“œ

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

๋ฌธ์ œ

์šฐ์„  ์ฝ”๋“œ๋ถ€ํ„ฐ

package com.example.event

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.MotionEvent
import android.view.View

class MainActivity : AppCompatActivity() {
    private val view1 : View by lazy {
        findViewById(R.id.view1)
    }

//    private val view2 : View by lazy {
//        findViewById(R.id.view2)
//    }
//
//    private val view3 : View by lazy {
//        findViewById(R.id.view3)
//    }

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

    private fun view1ClickListener() {
        view1.setOnTouchListener { _:View, event:MotionEvent ->
            when(event.action) {
                MotionEvent.ACTION_DOWN -> Log.d("action", "์†๊ฐ€๋ฝ ๋ˆŒ๋ฆผ")
                MotionEvent.ACTION_MOVE -> Log.d("action", "์†๊ฐ€๋ฝ ์ด๋™")
                MotionEvent.ACTION_UP -> Log.d("action", "์†๊ฐ€๋ฝ ๋•œ")
            }
            return@setOnTouchListener true
        }
    }
}

setOnTouchLister์˜ Motion ๊ฐ์ง€ ๊ณผ์ •์„ ์•Œ๊ณ  ์‹ถ์–ด์„œ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ณ  Log.d๋กœ ์ถœ๋ ฅํ•ด๋ณด๋Š”๋ฐ ํ™”๋ฉด์„ ์ฒ˜์Œ ๋ˆŒ๋ €์„ ๋•Œ๋งŒ ๋กœ๊ทธ๊ฐ€ ์ฐํžˆ๊ณ  ์†๊ฐ€๋ฝ์„ ์›€์ง์ด๊ฑฐ๋‚˜ ๋• ์„ ๋•Œ๋Š” ๋กœ๊ทธ๊ฐ€ ์ฐํžˆ์ง€ ์•Š๊ธธ๋ž˜ ์–ด๋ฆฌ๋‘ฅ์ ˆ ํ•˜๋˜ ๋„์ค‘ return ๊ฐ’์„ true๋กœ ๋ณ€๊ฒฝํ•ด ์ฃผ์—ˆ๋”๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ๋กœ๊ทธ๊ฐ€ ์ฐํ˜”๋‹ค. ์ฒซ ๋ฒˆ์งธ ์‚ฌ์ง„์ด return@setOnTouchListener false์ด๊ณ  ๋‘ ๋ฒˆ์งธ ์‚ฌ์ง„์ด return@setOnTouchListener True์ด๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด true๋Š” ๋ฐœ์ƒํ•œ ํ„ฐ์น˜ ์ด๋ฒคํŠธ๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  ๋๋‚ด๊ณ , false๋Š” ๋ฐœ์ƒํ•œ ํ„ฐ์น˜ ์ด๋ฒคํŠธ๋ฅผ ์ดํ›„์— ๊ณผ์ •(onTouch -> onClick -> onLongClick)๊นŒ์ง€ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค.

profile
ํ‹ฐ์Šคํ† ๋ฆฌ๋กœ ์˜ฎ๊ฒผ์–ด์š”! (https://codekodo.tistory.com)

0๊ฐœ์˜ ๋Œ“๊ธ€