본문 바로가기
android - drag and drop sort ( reordering ) listview android - drag and drop sort ( reordering ) listview 안드로이드를 사용하다 보면, 가끔씩 drag and drop 을 통해 reordering 을 하는 list view 를 사용하는 앱들을 볼 수 있었다. 혹 기본 컴퍼넌트인데 내가 사용 안 하고 있었던가 하고 찾아봤는데, 기본 component 는 아닐 뿐더러 open source 로 나와있는 녀석의 소스를 대충 훑어봐도 간단하게 구현되어 있지는 않았다. drag and drop sort 를 구현하기 위해서는 onInterceptTouchEvent 는 물론 onTouchEvent 들을 override 해서 touch event 를 다뤄야 하고, 상황에 맞는 action 을 하면서 list 를 꼬이지 않게 해야 하.. 2014. 5. 31.
[android] viewpager fragment visibility check. android, viewpager fragment visibility check. 2가지 방법이 있다 : setMenuVisibility, setUserVisibleHint 하나는 setMenuVisibility 를 override 하여 전달되는 visible 값을 체크하는 것이다.ViewPager 의 해당 페이지의 fragment 가 focus 되면 해당 함수가 불린다. @Override public void setMenuVisibility(final boolean visible) { super.setMenuVisibility(visible); if (visible) { ... } } 두번째는 setUserVisibleHint 를 override 하여 isVisibleToUser 값을 체크하는 것이다... 2014. 3. 4.
[Java] Overriding 성립 조건에 대해 알아보자. 자바, Overriding 성립 조건에 대해 알아보자. 오버라이딩의 친구 오버로딩( Overloading ) 에 대해서도 알아보자. 오버라이딩은 상속에 관련된 녀석인데, 부모 class 가 정의한 함수에 대해서, 자식이 다시 정의해서 사용하는 것을 이야기한다. 부모의 구현이 맘에 들지 않아서일수도 있고, 추가사항이 있어서일수도 있다. class Parent{public void doSth(){ // purnish children}} class Child extends Parent{@Overridepublic void doSth(){// love children}} 위의 경우는 약간의 상상을 더한 개념인데 ㅋㅋ우선 Parent 의 doSth 은 아이들을 혼내는 구현이다. Parent 를 상속한 Child .. 2013. 10. 1.
[android] how to disable gridview scrolling. android, how to disable gridview scrolling [En]Not only the GridView but also all kinds of AdapterView can be adjusted not to scroll by making new class which extends the view. You can do nothing in the onTouchEvent and onInterceptTouchEvent function which are responsible for taking MotionEvent and do scrolling logic. [Kr]GridView 뿐만 아니라 모든 AdapterView 들의 Scrolling 을 막는 데는 아래와 같이 해당 View 를 exten.. 2013. 9. 23.
[android] Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 안드로이드, Caused by : java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState 이 Exception 은 Fragment Transaction 의 commit() 함수에서 발생하는데,해당 exception 이 자주 발생하는 상황은 보통 Activity 가 종료하는 타이밍에 Fragment Transaction 으로 Fragment 를 remove 하는 commit 을 하면 그렇다.말 그대로 onSaveInstanceState() 가 실행된 이후에 commit() 이 되면 상태정보가 날아가기 때문에 경고차원에서 Exception 을 던지는 것으로 보이는데, 사실 경고를 보여주지 않고 excepti.. 2013. 9. 21.
[android] Viewpager with fragment problem. 안드로이드, Viewpager with fragment problem. Viewpager 와 fragment 를 동시에 사용할 경우 view redraw 가 잘 안 되는 현상이 발생하기도 한다.필자가 겪었던 문제는 Acitivity 를 사용하다가 Home 키로 나갔을 경우 한참후에 다시 들어오면 ViewPager 안에 있는 Fragment 들만 다시 안 그려지는 현상을 발견했다. ( ViewPager 바깥에 있는 Fragment 들은 잘 그려졌다. ) 구글링 결과 여러가지 솔루션을 제공하는데.. 1. View destroy 안 되게 하기 #1 FragmentPagerAdapter.setOffscreenPageLimit( int retainNumber ) 위의 함수를 통해 Fragment 를 destroy.. 2013. 7. 25.
[android] FragmentPagerAdapter 사용방법 안드로이드, FragmentPagerAdapter 사용 방법 ViewPager 를 사용할 때, 이 녀석도 List 종류와 마찬가지로 adapter 를 사용할 수 있다. FragmentPageAdapter 보통 ViewPager 는 Fragment 와 혼합해서 사용하기 때문에, 대중적으로 사용되는 것은 FragmentPagerAdapter 이다.다른 Adapter 와 마찬가지로 FragmentPagerAdapter 를 상속하는 class 를 하나 만들어주고 그곳에서 public ViewPagerAdapter( FragmentManager fm )public Fragment getItem( int position )public int getCount() 를 override 해주면 된다. PagerAdapte.. 2013. 7. 23.
[android] TextureView 에 대한 이야기 Android 그래픽 시스템의 발전 과정. 허니컴 이전에는 Surface Flinger 에서만 GPU 사용 허니컴이 Tablet 용 Framework 이다보니 늘어난 pixel 에 대응하기 위해서 GPU 사용이 필요하게 됨.onDraw() 이후에 실제 그리는 부분을 CPU 에서 하는 것이 아니라 이제는 GPU 에서 하게 됨. 기존 View 는 한 View 가 invalidate 가 되면, dirty check를 한 후, parent 로 올라가면서 invalidate 를 쭉 호출하게 되고, 다시 dirty check 된 녀석까지 draw 를 수행하여 그리게 된다. * 기존 View 의 문제1. UI 스레드에서만 그릴 수 있다.2. View 의 계층 구조를 타야 한다.3. 실시간으로 그리기 어렵다. * 기존.. 2013. 7. 18.
[Spring] Spring Framework 의 개요 #2 Spring Framework의 개요 #2 변화를 예상 -> design pattern 적용 가능. 관심사의 분리( Separation of Concerns ) 관심이 같은 것끼리는 하나의 객체 안으로, 관심이 다른 것은 가능한 따로 떨어져 영향을 주지 않도록 분리. 템플릿 메소드 패턴( Template Method Pattern ) 슈퍼클래스에 기본적인 조작의 흐름을 만들고, 그 기능의 일부를 추상 메소드나 오버라이딩 가능한 protected 메소드 등으로 만든 뒤, 서브클라스에서 이런 메소드를 필요에 맞게 구현해서 사용하도록 하는 방법. 이 때 선택적 override 가능한 method 를 hook method 라고 한다. 팩토리 메소드 패턴( Factory Method Pattern ) 서브클래스에.. 2013. 6. 25.
반응형