Listview의 내용물로 사용되는 ArrayList의 목록/내용이 변경되면, listview에 연결된 Adapter에게, 변경사항을 반영해달라고 요청해야 함(새로고침) => 내용 변경 : 목록 삭제 / 추가 / 일부 변경 사용법 // 내용물 변경 코드 실행 시점 바로 뒤에 어댑터변수.notifyDataSetChanged() 특이사항 ArrayList의 내용물에 변경을 준다면, 습관적으로 같이 적어주자. => 목록의 내용물이 변경되었는데 어댑터가 인지 못한채로 놔두면, 다음 터치에서 앱이 죽음 어댑터변수의 새로고침 기능은 많은 곳에서(다양한 함수에서) 사용하게 됨 => 어댑터 변수는 Activity 내부의 어느곳에서라도 사용할 수 있도록, 멤버변수로 만드는 게 유리 => 멤버변수 단에서는 어댑터변수의 초..
kotlin
어느 줄을 눌렀는지 "위치 파악"이 중요!! 버튼을 누르는 이벤트 : setOnClickListener 리스트뷰의 각 줄을 누르는 이벤트 : setOnItemClickListener => 각각의 줄이 눌렸을 때 => 어떤 줄이 눌렸는지 파악하면서 실행되는 함수 => position or i 변수가 몇번 줄이 눌렸는지 알려주는 역할 => 해당 위치에 맞는 데이터를 뽑아내서 작업 진행 item들이 있는 곳이 activity_main.xml이므로 연결돼있는 MainActivity.kt에서 진행 Listview Item이 클릭됐을 때 toast로 찍어보기 (Item은 Listview의 한 줄이라고 생각하면 된다!) viewBinding.studentListView.setOnItemClickListener { p..

보통 recycler view를 많이 쓰는데, Listview를 알면 recycler view를 조금 더 쉽게 배울 수 있어서 List view를 먼저 공부하는 중이다. 1. Activity 화면(XML)에 ListView 배치 + id 부여 => 아직 아무것도 안 나옴!! 밑 XML은 어댑터를 추가하면 나옴(사진은 어댑터 추가한 상태) 2. Listview가 뿌려줄 데이터들을 표현하는 데이터 클래스 작업(없으면 새로 만들기) 데이터클래스들은 별도로 datas 패키지에 관리(없다면 생성) Kotlin File/Class로 데이터 클래스 생성 => 이름 대문자로 시작하도록 데이터들을 저장하기 위한 멤버변수 var로 생성 package com.eunjeong.listview.datas // 학생 하위정보 -..

나중에 굉장히 유용할 것 같다. Dial 전화를 걸기 전 전화번호를 다 입력한 상태 // DIAL 액션 예제 viewBinding.dialBtn.setOnClickListener { //phoneNumEdt에 입력한 전화번호를 받아서 => 해당 번호에 전화연결 val inputPhoneNum = viewBinding.phoneNumEdt.text.toString() val myUri = Uri.parse("tel:${inputPhoneNum}") val myIntent = Intent(Intent.ACTION_DIAL, myUri) startActivity(myIntent) } Call 전화 연결 // Call 액션 예제 viewBinding.callBtn.setOnClickListener { //pho..

https://dkan9634.tistory.com/84 [Android] Intent로 Activity, Data 전달하기/받기 1. main xml에서 '다른 화면으로 이동'이라는 버튼을 누르면 OtherActivity와 연결 2. main xml에서 메세지를 입력하고 '메세지를 다른 화면으로 전달'이라는 버튼을 누르면 MessageActivity와 연결 activity_main.x dkan9634.tistory.com 위 게시글 코드에서 이어서 했다. 내가 하려는 것은 1. MainActivity -> 다른 Activity로 이동 2. 이 Activity의 데이터를 가지고 다시, MainActivity로 이동 3. MainActivity에서 데이터를 보여주는 것이다. 적용할 예시는 닉네임 변경이다...

1. main xml에서 '다른 화면으로 이동'이라는 버튼을 누르면 OtherActivity와 연결 2. main xml에서 메세지를 입력하고 '메세지를 다른 화면으로 전달'이라는 버튼을 누르면 MessageActivity와 연결 activity_main.xml MainActivity.kt import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.eunjeong.intent.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var viewBindi..

아이디가 admin@test.com이고 비밀번호가 qwer이면 관리자라는 토스트 메세지를 띄우는 것을 구현 XML 참고) https://dkan9634.tistory.com/81 [Android] XML activity 연습하며 회원가입 창 만들기 완성 XML 중요 설명 wrap_content : 자기 자신만 감싸줄 만큼 match_parent : 부모에 맞춤 margin : 바깥으로부터의 간격 padding : 내부의 여백 맨 위 사진(로고 느낌) 펭귄사진은 무료 이미지로 다운 받았다. ( dkan9634.tistory.com MainActivity.kt package com.eunjeong.loginlogic import androidx.appcompat.app.AppCompatActivity imp..

XML EditText(아무 문장이나 입력 칸)에 입력한 내용을 TextView(입력한 내용이 나올 자리 칸)에 나오게 할 것이다. ViewBinding으로 ID 내용을 불러와서 보여주게 했다. MainActivity.kt import android.os.Binder import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.LayoutInflater import com.eunjeong.uikotlinpractice.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { //기본 설정 private lateinit var..

내가 설정한 화면 실행된 화면 -> button을 오른쪽으로 설정했는데 왼쪽으로 밀리고 Edit Text에서 Text를 써도 button과 메모장(textView)와 겹침 원인 constraintLayout이었는데 제약을 안걸어줬었다. => 제약을 걸어줬더니 해결
viewBinding.sendbtn.setOnClickListener{ var intent = Intent(this, Standard12Activity::class.java) val data = viewBinding.et.text intent.putExtra("input", "$data") startActivity(intent) } 줄 정렬이 왜 안되지? 암튼 data 변수로 EditText의 text를 가져오면 된다. 저기서 et는 내가 지정한 EditText의 id이다. 그런 다음 putExtra value 값으로 따옴표와 $로 값을 전달해주면 된다. 아무리 구글링을 해봐도 findViewById만 떠서 난감했는데 결국 해결했다