본문 바로가기

sopt

4주차 과제중 배운것들 ViewModel관련 과제 4주차 보면 알듯이 뷰모델에서 비동기적으로 정보 끌어오는거 처리해서 가져와서 저장했었고 그에 따른 처리 인텐트나 토스트 메세지 등등은 액티비티에서 실행했다 근데 정보가져오는 버튼 리스너 에서 뷰모델의 비동기처리를하고 동시에 정보가져오는거 뿌려주는걸하면 비동기처리가 끝나기도 전에 실행해서 nullpointexception이나 내가 원하는걸 처리하지 못하는 일이 발생했다. 그래도 토스트메세지나 인텐트같은 액티비티에서 처리해야할것들은 따로있기에 방법을 생각해서 비동기 완료 여부를 나타내는 변수를 boolean형태로 라이브데이터로 놓고 옵저버를 달아서 변화가있을경우 처리하도록했다 그리고 비동기처리 성공여부 200인지 400인지는 변수에 true/false여부로 판단하였다. 그래서 해결.. 더보기
3주차 과제중 배운것들 라디오 버튼 커스텀 selector의 state_checked 속성을 이용하기위해 그냥 버튼이아닌 라디오 버튼을 이용해서 버튼을 만들어줬다. - android:button="@null" 라디오 버튼에 동그라미 버튼 부분 없애려면 속성에 이렇게 넣어주면된다. fragment안의 fragment 처리 fragment안에서 fragment 처리할때는 activity에서 처리할때와 다르게 supportFragmentManager 를 사용하는것이 아닌 childFragmentManager를 사용해야한다. 또한 프래그먼트에서 부모의 프래그먼트 매니저를 접근하려면 ex)fragment1에서 activity의 fragment로 접근 이럴경우에는 parentFragmentManager를 사용한다. https://ddan.. 더보기
2주차 과제중 배운것 level 2 2-1 1.리사이클러뷰 항목마다 이벤트 리스너 달아주기 각 항목마다 클릭 이벤트 리스너 달아서 이벤트를 처리해보자 ViewHolder 혹은 onBindViewHolder() 함수 두곳에서 이벤트 처리 하는 방법이 있는데 우선 viewholder에서 처리해주는것부터 부터 봐볼것이다. 1-1ViewHolder에서 처리 우리가 viewbinding 을 이용해서 viewHolder를 만들었기에 ViewHolder의 생성자로 binding객체를 꽂아줬다. 그래서 이 binding객체의 root가 리사이클러뷰가 표현하는 항목하나 즉 item의 레이아웃에 접근할수있다 그래서 init함수를 만들어 root에 onClicklistener를 추가한다. 1-2 onBindViewHolder() 에서 처리 이 .. 더보기
1주차 과제중 배운것들 level1 1. Editable edittext 를 코드단에서 텍스트를 넣어주기위해 이런식으로 텍스트에 직접 문자열을 넣어줬는데 자료형이 안맞아서 적용할수가 없었다. edittext의 텍스트는 Editable TYPE이였는데 Editable라는 인터페이스를 구현한 객체이므로 Editable 안에 정의된 clear() append()같은 메서드를 사용해서 조작할수있었다. Editable의 메서드들은 다음과같다 이런 메서드를 통해서 text속성을 조작할수있었다. 2.finish 기존에 맨날 페이지를 이동할때 startActivity를 통해서만 움직였고 뭔가 이상했다. 스택에 쌓여있는 거쳐왔던 화면으로 돌아갈때는 back 버튼을 물리적으로 눌러서 돌아갔는데 이렇게 기존 스택에 최상단에있는 화면에서 스택에 쌓.. 더보기