구조 액티비티(A) 위에 프래그먼트(B)를 얹고, 그 프래그먼트(B) 위에 프래그먼트(C)를 또 얹었다. 자녀 프래그먼트(C)위의 버튼을 눌러서 프래그먼트(C)를 다른 프래그먼트(C')로 교체하는 코드이다. 코드 MyPageFragment.kt (부모 프래그먼트. 프래그먼트 B) var frontFragment = FrontFragment() var backFragment = BackFragment() class MyPageFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { return inflater.infl..
리스트뷰 ListView ListView는 뷰들을 세로방향으로 스크롤이 가능하도록 디스플레이한다. 조금 더 유연한 활용을 위해서는 RecyclerView를 사용한다. 먼저, 리스트를 디스플레이하기 위해서는 xml파일에 listView를 추가한다. ListView는 본인 안에 담길 뷰의 내용이나 형식을 모르기 때문에 ListAdapter에게 필요한 뷰들을 요청한 후 그려낸다. setAdapter(android.widget.ListAdapter)를 통해서 어댑터와 리스트를 연결할 수 있다. 리스트뷰를 사용하면 반복되는 목록을 일일이 그리지 않아도 손쉽게 만들 수 있어서 편하다. 코드 ListAdapter.kt - getView안의 코드들은 각 뷰 하나마다 작동함 layout_listview.xml - 뷰 하..
코틀린 안드로이드 뒤로가기키 onBackPressed() 안드로이드 뒤로가기 물리키를 제어하는 코드 원래 뒤로가기키를 누르면 스택에 쌓인 순서대로 한개 뒤로 이동한다. 이 함수를 오버라이드 하는 방식으로 제어할 수 있다. override fun onBackPressed() { if (const == 3){ // do something } else{ // 기존의 onBackPressed()대로 작동하게 (뒤로가짐) super.onBackPressed() } } 이 함수는 직접 호출하지 않고 뒤로가기키가 눌리면 호출되는 방식인데 onBackPressed()의 if문 안에 조건을 넣어주고, 그 조건에 맞을 경우(뒤로가기키가 눌린 후, 조건에 맞는지 확인) 어떤 명령을 할지 짜주면 된다. 그 후 else에는 s..

ViewPager Indicator 뷰페이저로 이동할때마다 지금이 몇번째 페이지인지 알 수 있도록 하단에 인디케이터를 달아줬다. 인디케이터로 사용할 shape 만들기 /drawable 안에 shape_circle_gray.xml shape_circle_purple 뷰페이저 밑에 인디케이터 위치시키기 activity_main.xml 액티비티에 코드 작성하기 MainActivity.kt // indicator viewPager_main.addOnPageChangeListener(object : ViewPager.OnPageChangeListener{ override fun onPageScrollStateChanged(p0: Int) { } override fun onPageScrolled(p0: Int, p..

ViewPager로 프래그먼트간의 슬라이드하기 안드로이드에서 옆으로 넘기는 화면을 구현하기 위해 ViewPager을 사용한다. 객체에는 페이지 간 전환을 위한 스와이프 동작이 내장되어 있으며 기본적으로 화면 슬라이드 애니메이션을 표시하므로 직접 애니메이션을 만들 필요가 없다 (참고: developer.android.com/training/animation/screen-slide?hl=ko) Fragment 생성 먼저 넘길 페이지 수만큼 각각의 프래그먼트를 생성하고 class FirstFragment : Fragment(){ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?..

Spinner 리스트에서 하나의 값을 선택해야해서 스피너 구조를 사용하려했다. 아래의 사진과 같이 도르륵 움직이는 아이폰 스타일의 스피너를 예상했다. 안드로이드에서 Spinner 안드로이드에서의 스피너는 드롭다운 형태로 생긴 이런 구조를 말한다. xml에 Spinner을 넣어주고 코드에서는 이렇게 짜줬다. val agelist = Array(100, {i -> i+1900}) birth_spinner_userinfo.adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_dropdown_item, agelist) birth_spinner_userinfo.onItemSelectedListener = object : AdapterVi..

Activity에서 Fragment 접근하는법 var userFragment: UserFragment = supportFragmentManager.findFragmentById(R.id.fragment_holder) as UserFragment // 프래그먼트의 editText 접근하기 username = userinfoFragmentManager.username_et_user.text.toString() fragment_holder부분에는 액티비티 내부에서 프래그먼트를 홀드하고 있는 뷰를, UserFragment부분에는 접근하려는 프래그먼트 클래스를 넣어주면 된다. Fragment에서 Activity 접근하는법 전에 써놨던 포스팅 yuuj.tistory.com/49?category=820574 [And..
@Path와 @Query의 차이점 @Path: path variable을 위함 api/member/{username} @Query: query parameter 위함 api/member?username= @Field와 @Query의 차이점 @Query:사용시 파라미터를 url 뒤에 붙여서 전달하는데, 유저들에게 쉽게 노출된다. @Field: 보안을 위해 url 뒤에 붙이지 않고, 파라미터를 숨긴다. (@FormUrlEncoded 사용) stackoverflow.com/questions/57848058/what-is-the-difference-between-field-and-query-in-retrofit What is the difference between @Field and @Query in retr..
- Total
- Today
- Yesterday
- 코틀린 리스트뷰
- 백준 1644
- 코틀린 바텀네비게이션
- 백준
- 프로그래머스
- 전화번호목록 파이썬
- 시뮬레이터 키보드
- 안드로이드
- 코틀린 데이터바인딩
- 투포인터 알고리즘
- kotlin fragment
- 카카오톡으로 로그인 오류
- flutter simultor
- TextFormField keyboard
- 안드로이드 키해시
- 소수 구하기 파이썬
- Kotlin
- 백준 2003
- 코틀린 뷰바인딩
- 코틀린
- 데이터바인딩 뷰바인딩 차이
- 안드로이드 카카오톡으로 로그인
- 투포인터 알고리즘 파이썬
- 카카오 기출
- 백준 1806
- 코틀린 뷰페이저
- 카카오 키해시
- 파이썬 최대공약수
- 백준알고리즘
- counting sort
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |