Android Fundamentals - 사용자 정의 View에서 구성 코드 블록 사용
첫 번째는 구조 방법마다 초기화 방법을 넣는 거예요.
public CustomView(Context context) {
super(context);
init();
}
public CustomView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
두 번째는 현재 구조 방법을 체인식으로 호출하는 것이다
public CustomView(Context context) {
this(context, null);
}
public CustomView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public CustomView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
이렇게 쓰는 것은 모두 맞지만, 좀 번거롭다. 매번 View를 계승한 후에 많은 것을 쓴다. 친구들은 코드 블록을 만들어 보는 것도 괜찮다
public class CustomView extends View {
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public CustomView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
{
init();
}
}
이렇게 하면 위보다 약간 게으름을 피울 수 있다. 구조 코드 블록에 대해 아래에 간단하게 소개한다.
구조 코드 블록을 꺼내면 정적 코드 블록을 꺼내지 않을 수 없다
우선 정적 코드 블록을 보겠습니다.
public class Block {
static{
System.out.println(" ");
}
}
정적 코드 블록은 클래스가 불러올 때 실행되며, 한 번만 실행되며, 각종 코드 블록과 구조 함수보다 우선합니다.클래스에 정적 코드 블록이 여러 개 있으면 쓰기 순서대로 실행됩니다.(Java 클래스의 로드 메커니즘에 대해 잘 모르는 파트너는 이 기사를 볼 수 있습니다.https://blog.csdn.net/sinat_33150417/article/details/90783312)
일반적으로 프로젝트가 시작될 때 실행해야 하는 코드가 있으면 정적 코드 블록이 필요합니다.예를 들어 하나의 프로젝트를 시작하려면 불러오는 많은 프로필 등 자원을 정적 코드 블록에 넣을 수 있다.
주의해야 할 것은 정적 코드 블록은 어떤 방법체에도 존재할 수 없고 일반 변수에 접근할 수 없다는 것이다.
구조 코드 블록의 사용 방식은 바로 사용자 정의View의 사용 방식이다. 구조 코드 블록은 대상을 만들 때 호출되고 매번 대상을 만들 때마다 한 번씩 호출되지만 구조 함수 실행보다 우선하며 정적 코드 블록 다음에 호출된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android Webkit 요약(개요에서 최신 AndroidX까지)WebView는 Android 응용 프로그램에서 HTML과 웹 페이지 등 HTML 파일을 렌더링(표시)하는 기능을 제공하는 View입니다. Android Webkit은 실제 WebView의 핵심 기술인 렌더링 엔진(...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.