목록전체 글 (177)
study record
프래그먼트로 구성된 화면들로 이루어진 앱에서 뒤로 가기를 눌렀을 경우에 바로 앱을 나가지는 문제가 있다. 구글링해 본 결과, addToBackStack(null) 코드를 넣으면 이전 프래그먼트로 돌아가게 된다. 내가 쓴 코드이다. replace와 commit 사이에 코드를 추가했더니 뒤로 가기 버튼을 누렀을 때 이전의 프래그먼트 화면으로 잘 변경되었다. ((MainActivity)getActivity()).getSupportFragmentManager().beginTransaction().replace(R.id.container, YoutubeSinger).addToBackStack(null).commit();
listView.setSelection(position); 원래는 이거 하나면 리스트뷰의 리스트 중 원하는 아이템을 원하는 위치에 고정시킬 수 있었다. 그런데 원하는 아이템을 업데이트시키려고 했을 때, 잘 바뀌지 않는 문제가 있었다. 아래의 코드로 바꾸고 나니 잘 업데이트되었다. listView.post(new Runnable() { @Override public void run() { if (null != listView) { listView.clearFocus(); listView.requestFocusFromTouch(); listView.setSelection(firstPosition); } } });
- 리스트 안의 버튼 클릭 이벤트는 어뎁터의 getView() 메소드를 이용하면 편하게 진행할 수 있다. position 변수가 존재하기 때문에 편하게 원하는 기능들을 구현할 수 있다. getView()메소드에서 view.findViewById(R.id.button)이런 식으로 버튼을 가져오면 된다. 나는 이 메소드를 잘 모른 채, 더 안 쪽의 클래스에서 버튼 클릭 이벤트를 진행하려다가 많이 헤맸다.. 구글링의 중요성.. 클래스 간 데이터 전달 등등 찾아보다가 extends Application 까지 하고 심지어 거의 성공했다.. 암튼 구글링을 많이 하면 삽질을 덜 할 수 있다는 교훈..
안드로이드에서 카카오톡 공유하기 기능을 구현할 때 어려움을 겪었던 부분과 해결한 과정을 공유하고자 한다. - import 카카오 버전2로 잘 할 것 - 디버그 키 등록 (릴리즈 키 등록은 바로 안 해도 개발하는 데에는 상관 없다.) 28?자 인 걸로 알고 있다. 나는 구글링에서 나온 코드를 직접 넣어서 얻은 방식으로 디버그 키를 찾았다. 왜 터미널을 이용하는 방식이 안 되는지는 모르겠드아..; - 특정한 링크가 잘 공유되게 하기 위해서는 카카오 developers의 본인의 플랫폼에서 WEB에 공유할 도메인을 등록해놔야 한다. 예시: https://youtube.com 등록하지 않으면 원하는 링크가 공유되지 않고 계속 자신의 앱으로 들어가게 된다. (중요한 부분인 것 같은데 많은 블로그에서 언급되지 않아 ..