분류 전체보기(229)
-
[Android] CustomView attr 속성에 다중 값(multi value) 설정 방법
CustomView attr 속성에 다중 값(multi value) 설정 방법 CustomTopNavigation 속성중에 뒤로가기만 보여줄지, Close 버튼을 보여줄지 설정을 할 수 있는 style attr이 있다 attr 위와같은 attr이 있을때 커스텀 뷰 설정하고있는 xml 뒤로가기, 닫기버튼을 같이 보여주고 싶으면 위와 같이 사용한다 자바코드 if (null != attrs) { // 안드로이드 기본 스키마 어트리뷰트가 설정된 경우 (문구만 적용한다) int textResId = attrs.getAttributeResourceValue(ANDROID_SCHEMA, "text", 0); String text = ""; if (textResId == 0) { text = attrs.getAttri..
2021.05.26 -
[Android] 프래그먼트 데이터 공유(Not MVVM)2
[Android] 프래그먼트 데이터 공유(Not MVVM)2 Activity 최상위 프래그먼트 or 액티비티에서 리스너 인터페이스를 작성한다 공유할 데이터들을 정의한다. 각각의 프래그먼트에서 해당 함수들을 호출 할 때 할 행위들을 정의한다. public class MyActivity extends Activity { private final String TAG = "MyActivity"; private ApplyData applyData = new ApplyData(); // 신청 데이터 private QueryData queryData = new QueryData(); // 조회 데이터 public interface MyListener { int STEP_1 = 0; int STEP_2 = 1; int..
2021.05.25 -
[Android] button onclick in LinearLayout not working
button onclick in LinearLayout not working 리니어 레이아웃 안에 버튼이 1개 있었다. 굳이 버튼에 onClick리스너 달 필요가 있을까? 해서 리니어 레이아웃에 리스너를 달았는데 리스너가 작동하지 않는 현상이 발생했다 해결은 버튼에 android:clickable="true" 위 코드를 추가하는 것이었는데 버튼이라는것 자체가 클릭을 위한 view 이기 때문에, 클릭에 대해 이벤트를 가져가면서 return true를 반환 한다. 그래서 리니어 레이아웃의 onTouchListener, onTouchEvent를 호출하지 않는것이다
2021.05.25 -
[Java] JAVA String 메소드중 Replace로 괄호()와 점.을 치환하려 할때
String AA = "(주)티스토리"; String 메소드 중에서 substring의 경우에는 괄호를 잘찾아간다. 예시는 아래와 같다. ex) AA.substring(0,1).equals("(") 그러나 replace의 경우에는 괄호에 대해서 처리가 되지 않는다. 그 이유는 String의 replaceAll 메소드가 내부적으로 regular expression을 사용하기 때문 점을 넣었을경우 모든 글자를 치환해버리는것도 위와 같은 이유이다. 문자라는 표시를 해줘야 하는데 \\를 붙여주면 된다. 예시는 아래와 같다. ex) AA.replace("\\(", "BB"); AA.replace("\\)", "BB"); AA.replace("\\.", "BB"); regex완벽정리 한번해야겠다
2021.05.20 -
터치 이벤트 간략 정리(onTouchEvent, dispatchTouchEvent, onInterceptTouchEvent)
[Android] [펌] 안드로이드의 Touch Event 디스패치 단계 도입 안드로이드의 이벤트 처리 방식에는 윈도우즈와는 다른 특이한 점들이 있다. 이에 안드로이드의 이벤트 디스패치 단계를 정리 해보았다. (이런 정리 싫어하지만 기본기가 중요하므로 정리했다 --) 특히 터치 이벤트에서 ACTION_DOWN은 모든 핸들러의 단계를 거치게 되고 중간에 이를 처리하면, 이어지는 ACTION_MOVE, ACTION_UP 이벤트는 해당 위치까지만 디스패치 되고 그 메소드를 호출하는 구조이다. (여러 하위 구조를 가지는 복잡한 레이아웃에서는 이런 설계가 여러 핸들러를 거치는 오버헤드를 줄이는 효과가 있을 것이다.) 이벤트 전송의 간략한 메카니즘은 상위에서 하위의 dispatcher 호출을 통해서 이벤트가 아래로..
2021.05.18 -
[Android] 프래그먼트 데이터 공유(Not MVVM)1
프래그먼트 데이터 공유(Not MVVM) Activity public class Activity implements Fragment2.Listener{ private void fragmentInit() { this.mFragments[0] = new Fragment1(); this.mFragments[1] = new Fragment2(); } @Override public void onAttachFragment(Fragment fragment) { if(fragment instanceof Fragment1){ Fragment1 fragment1 = (Fragment1) fragment; fragment1.setListener(this); } } @Override public void listened() ..
2021.05.10