[BTS앱] 화면 클릭 이벤트 처리 - findViewById, Toast
155
작성한 질문수 2


코드 똑같이 쳤는데 test device에서 첫번째 이미지 클릭시 "1번째 클릭 완료" 문구가 나오지 않습니다..
답변 2
0
전체 코드를 복사해서 공유해주시겠어요? Activity xml 모두 복사해주세요 ㅎㅎ
0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp">
<ImageView
android:id="@+id/btsImage1"
android:src="@drawable/bts_1"
android:layout_width="120dp"
android:layout_height="120dp"/>
<ImageView
android:src="@drawable/bts_2"
android:layout_width="120dp"
android:layout_height="120dp"/>
<ImageView
android:src="@drawable/bts_3"
android:layout_width="120dp"
android:layout_height="120dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp">
<ImageView
android:src="@drawable/bts_4"
android:layout_width="120dp"
android:layout_height="120dp"/>
<ImageView
android:src="@drawable/bts_5"
android:layout_width="120dp"
android:layout_height="120dp"/>
<ImageView
android:src="@drawable/bts_6"
android:layout_width="120dp"
android:layout_height="120dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp">
<ImageView
android:src="@drawable/bts_7"
android:layout_width="120dp"
android:layout_height="120dp"/>
</LinearLayout>
</LinearLayout>
0
package com.xylbllv.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 1. 프로그램이 화면이 클릭되었다는 것을 알아야 합니다!
val image1 = findViewById<ImageView>(R.id.btsImage1)
image1.setOnClickListener {
Toast.makeText(this, "1번 클릭 완료", Toast.LENGTH_LONG).show()
}
// 2. 화면이 클릭되면, 다음 화면으로 넘어가서, 사진을 크게 보여줌!
}
}
0
https://www.youtube.com/watch?v=sY8Q3fLas3Q
위의 코드로 정상동작하는걸 확인했습니다
가끔 디바이스를 예전걸로 만들면 토스트메세지가 안뜰 떄가 있는데 위의 영상 참고해서 다시 만들어서 해보시겠어요?
0

Could not read workspace metadata from C:\Users\wjdtp\.gradle\caches\8.9\transforms\41dbf738ef9a763802d2faec6fb4c6df\metadata.bin
선생님 이 오류 메세지 때문일까요?
0
안녕하세요, 인프런 AI 인턴입니다. jepngsebin051102님.
화면의 클릭 이벤트가 발생하지 않는 문제는 여러 가지 원인일 수 있습니다. 아래와 같은 사항을 확인해 보세요:
레이아웃 파일 확인:
activity_main.xml파일에서btsImage1의 ID가 정확하게 설정되어 있는지 확인해 주세요. 코드에서 사용한 ID와 XML 파일의 ID가 일치해야 합니다.프로젝트 Clean 및 Rebuild: Android Studio에서
Build메뉴로 가서Clean Project와Rebuild Project를 시도해 보세요. 이 작업이 종종 캐시 문제를 해결해 줄 수 있습니다.로그캣(Logcat) 확인: 앱을 실행한 후 Android Studio의 Logcat 창을 확인하여 오류 메시지가 있는지 확인해 보세요. 오류 메시지가 있다면, 그 내용을 바탕으로 문제를 진단할 수 있습니다.
이미지 뷰 추가 위치 확인:
onCreate함수 안에 모든findViewById및 이벤트 리스너 등록 코드가 들어가는지 확인하세요. 또한setContentView호출 후에만 실행해야 합니다.
비슷한 사례와 도움을 받을 수 있는 질문들은 아래 링크들을 참고해 주세요:
intend 코드가 들어가면 앱이 동작하지 않습니다..
- 코드에서 인텐트 부분이 잘못되었을 가능성에 대한 논의가 있습니다. Intent 구조를 확인해 보시는 것도 도움이 될 것입니다.
- 코드에서 인텐트 부분이 잘못되었을 가능성에 대한 논의가 있습니다. Intent 구조를 확인해 보시는 것도 도움이 될 것입니다.
화면 클릭 이벤트 처리 - findViewById, Toast
- 자동완성과 findViewById 문제에 관련한 질문입니다. 이럴 경우에는 프로젝트 환경설정이나 버전 문제도 고려해야 합니다.
- 자동완성과 findViewById 문제에 관련한 질문입니다. 이럴 경우에는 프로젝트 환경설정이나 버전 문제도 고려해야 합니다.
화면 클릭 이벤트 처리 - findViewById, Toast 에서 07:08 에서 문제가 생겼습니다.
- ImageView의 import 문제 해결 방법에 대한 설명이 있습니다.
- ImageView의 import 문제 해결 방법에 대한 설명이 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
주사위앱 소개 및 레이아웃 설정 문제
0
77
2
안드로이드 에뮬레이터가 실행이 안 되요...ㅠ
0
128
2
30 강 소스 좀 올려 주십시요
0
94
2
onBackPressed 함수가 동영상 하고 다르게 동작합니다.
0
104
2
ListView 초기 실행 안됩니다.
0
106
2
코딩을 완료하고난후 앱 실행시 자동 종료
0
81
2
datavinding에서 오류가 납니다.
0
61
1
안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.
0
129
2
context의 구별에 대하여
0
80
2
"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.
0
77
2
"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류
0
172
3
해결완료
1
197
2
databinding 설정후 run하면 에러(해결)
0
230
2
databinding 설정 이후 실행시 에러
0
286
4
안드로이드 입문하는 사람입니다.
0
74
1
Firebase uid
0
87
3
activity_main 화면 다름
0
123
2
강의화면과 다른데 맞게진행되는것인가요...????
0
115
2
파이어베이스 질문
0
81
2
ActivityMainBinding에 오류가 납니다
0
141
2
선생님 onBackPressed 작동이 안되는거 같습니다
0
124
2
>app>res>layout 이 존재하지 않습니다.
0
122
2
안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐
0
773
2
안드로이드 스튜디오 오류 발생 시 대처 방법은 요?
0
302
2





