본문 바로가기

전체 글

(163)
RecyclerView에 listener 달아주기 1.어댑터 클래스에 인터페이스 및 호출하고 싶은 함수 정의 어댑터에서 호출할 함수이기 때문에 어댑터에서 사용할 수 있는 데이터들을 인자로 interface OnItemClickListener { fun OnItemClick(holder: MyViewHolder, view: View, data: MyData, position: Int) } 2.객체 멤버 선언하기 // 누군가가 값을 채워 사용할 것 var itemClickListener: AdapterView.OnItemClickListener? = null3.VIewHolder클래스에 이벤트 달아주기 itemView.setOnClickListener{ val position = adapterPosition // 어떤 것을 클릭했는지 itemClickLis..
RecyclerView 만들기 RecyclerView 기본 틀 만드는 법 1.레이아웃에 RecyclerView를 배치한다. 2.아이템에 해당하는 레이아웃 만들기(ex - row.xml) 3.recyclerView에 layoutmanager 달아주기 recyclerView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) 4.adapter class만들기 - RecyclerVIew.Adapter() 상속하기 class MyAdapter(val items:ArrayList):RecyclerVIew.Adapter(){ } 5.MyVIewHolder가 없으므로 만들어주기 - RecyclerView.ViewHolder 상속 inner class MyVi..
AsyncTask 네트워크 작업 등을 하려면 백그라운드에서 작업하는 별도의 쓰레드가 필요하다. 보통은 inner class로 만든다 AsyncTask를 상속받아서 만들어야 한다. 인자는 수행하는 데에 필요한 인자, progress는 UI쓰레드로 결과를 보낼 것 (progress진행상태 업데이트를 위해) result는 말그대로 수행 후 리턴되는 결과 ex) class MyAsyncTask(context: MainActivity) : AsyncTask() { onPreExecute() : 태스크 실행 전 set up하는 부분 doInBackGround() : 백그라운드에서 동작하는 main 부분 onProgressUpdate() : progress bar등등.. onPostExecute() : doInBackGround()에..
첫방문 shared preference 앱을 처음켰을 때 튜토리얼이 나오는 경우와 같다. 쉽게 설명하자면, shared preference를 만든다. default값으로는 true를 준다. 그리고 실행시 false로 바꿔주는 코드를 넣어준다. if(shared preference){ 처음 실행할 때만 실행되는 코드! } 튜토리얼을 다음에 보지않기를 누르면 false로 바꿔주는 방법을 썼겠군! https://metal00456.tistory.com/10
editText 한번에 지우는 버튼 보통 editText와 x이미지버튼을 겹쳐서 배치하고 editText에 textWatcher를 달아주고 textWatcher의 textChangeWatcher를 통해 원하는 조건에서 이미지버튼을 표시하고 없애는 방식을 사용 www.gun0912.tistory.com/56
layoutInflater 레이아웃 객체화 화면의 일부분을 xml파일의 내용으로 적용할 때 쓰인다. dialog느낌? getLayoutInflater().inflate(레이아웃, 루트); xml레이아웃을 View객체로 반환 루트에 null을 하면, 부모객체가 없기 때문에 자동으로 wrap
dp, sp 차이 dp, dip (Density Independent Pixel) 어떤 화면이든 같은 크기로 나타난다. 하지만 화면마다 가로, 세로 비율이 다르므로 완벽한 해결책은 아님 sp (Scale Independent Pixel) dp와 비슷하지만 사용자가 설정할 글꼴 크기에 따라 변한다. 결론은 레이아웃 등의 UI적 요소 : dp(dip) 사용 글자 크기 : sp 사용
linear layout 하나는 왼쪽에 하나는 오른쪽에 정렬하고 싶을 때 중간에 이 코드를 하나 넣어주면 된다~