모바일/Android_Java(100)
-
익명클래스,람다식
익명클래스 Person를 상속받아 처리해야 하는 클래스가 또 필요한 경우, 매번 Child2, Child3… 등등을 만드는 것은 낭비고 불필요한 클래스만 많아진다. 상속받은 클래스가 재사용되면 모를까, 그냥 한번 쓰고 버려진다면 굳이 클래스 파일을 만들 필요는 없다. 이럴 경우에 바로 익명 클래스를 사용하면 된다.실행클래스에서 바로 사용한다고 하면 다음과 같이 하면 된다. public static void main(String[] args) { Person p = new Person() { String name = "Kim"; @Override void whoAmI() { System.out.println("나는 " + name + " 이다."); } }; p.whoAmI(); // 나는 Kim 이다. ..
2020.01.28 -
메서드체이닝
메서드가 객체를 반환하게 되면, 메서드의 반환 값인 객체를 통해 또 다른 함수를 호출할 수 있습니다. 이러한 프로그래밍 패턴을 메서드 체이닝(Method Chaining) 이라 부름
2020.01.28 -
Headless Fragment
액티비티가 종료되기 직전 호출되는 onSaveInstanceState() 콜백에서 액티비티의 상태 또는 데이터를 저장할 수 있지만 직렬화할 수 없는 객체는 저장할 수 없습니다. 이 방법은 애초에 많은 양의 데이터를 저장하기 위해 디자인되지 않았기 때문에 이로 인한 한계가 불가피했습니다. 다른 대안으로는 유보된 프래그먼트(Retained Fragment)를 사용하는 방법입니다. UI가 없는 워커(헤드리스) 프래그먼트 개념을 도입해 이곳에서 UI에 필요한 데이터를 관리하고, 프래그먼트를 setRetainInstance(true)로 설정함으로써 액티비티 재생성 시, 프래그먼트를 메모리에 유지(소멸시키지 않고 유보)시키는 것입니다. 이때 프래그먼트는 액티비티에서 분리(onDetach)된 후 새로운 액티비티로 다..
2020.01.17 -
findViewById No Use : DataBinding 2020.01.17
-
RecyclerView 스크롤 막기
setlayoutfrozen, setNestedScrollingEnabled(false) adpater.notifyItemChanged함수가 작동하지 않았던상황.. 공부하던 중 setLayoutFrozen(true) prevents any updates to the UI such as changing images and even pauses events on the Layout such as scrolling. This also stops childviews from being updated as well. 라는 글을 발견하고 setNestedScrollingEnabled(false)를 발견하고 해결했다!
2020.01.15 -
overridePendingTransition
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 를 설정하게되면 startActivity(intent); overridePendingTransition(0,0); 코드가 처음에만 작동하고 다음 액티비티 전환시 백스택에있던 액티비티를 복구시키면서 애니매이션 효과제거가 되지 않음 해결책 onNewIntent에 overridePendingTransition적용 onResume에 적용 정확한 이유는 알아보려했지만 실패 ㅠㅠ
2020.01.15