Android 디자인 모드의 (2)----Builder 모드
Builder 모드에서는 체인 구조를 사용하여 복잡한 객체를 작성하고 프로세스와 결과를 분리하여 작성 과정에서 자체적으로 조합할 수 있습니다.
장면 작업
public class TabInfoBean {
private int count;//Tab
private int currentTab;// tab
private String[] tabText;//
private int normalResId;//
private int selectResId;//
private int normalTextColor;//
private int selectTextColor;//
private int normalTextSizeSp;//
private int selectTextSizeSp;//
private TabInfoBean(TabInfoBuilder builder) {
this.tabText = builder.tabText;
this.count = builder.count;
this.currentTab = builder.currentTab;
this.normalResId = builder.normalResId;
this.selectResId = builder.selectResId;
this.normalTextColor = builder.normalTextColor;
this.selectTextColor = builder.selectTextColor;
this.normalTextSizeSp = builder.normalTextSizeSp;
this.selectTextSizeSp = builder.selectTextSizeSp;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getCurrentTab() {
return currentTab;
}
public void setCurrentTab(int currentTab) {
this.currentTab = currentTab;
}
public int getNormalResId() {
return normalResId;
}
public void setNormalResId(int normalResId) {
this.normalResId = normalResId;
}
public int getSelectResId() {
return selectResId;
}
public void setSelectResId(int selectResId) {
this.selectResId = selectResId;
}
public int getNormalTextColor() {
return normalTextColor;
}
public void setNormalTextColor(int normalTextColor) {
this.normalTextColor = normalTextColor;
}
public int getSelectTextColor() {
return selectTextColor;
}
public void setSelectTextColor(int selectTextColor) {
this.selectTextColor = selectTextColor;
}
public String[] getTabText() {
return tabText;
}
public void setTabText(String[] tabText) {
this.tabText = tabText;
}
public int getNormalTextSizeSp() {
return normalTextSizeSp;
}
public void setNormalTextSizeSp(int normalTextSizeSp) {
this.normalTextSizeSp = normalTextSizeSp;
}
public int getSelectTextSizeSp() {
return selectTextSizeSp;
}
public void setSelectTextSizeSp(int selectTextSizeSp) {
this.selectTextSizeSp = selectTextSizeSp;
}
public static class TabInfoBuilder {
private int count;
private int currentTab;
private String[] tabText;
private int normalResId;
private int selectResId;
private int normalTextColor;
private int selectTextColor;
private int normalTextSizeSp;//
private int selectTextSizeSp;//
public TabInfoBuilder(String[] tabText, int count, int currentTab) {
this.tabText = tabText;
this.count = count;
this.currentTab = currentTab;
}
public TabInfoBuilder setNormalResId(int normalResId) {
this.normalResId = normalResId;
return this;
}
public TabInfoBuilder setSelectResId(int selectResId) {
this.selectResId = selectResId;
return this;
}
public TabInfoBuilder setNormalTextColor(int normalTextColor) {
this.normalTextColor = normalTextColor;
return this;
}
public TabInfoBuilder setSelectTextColor(int selectTextColor) {
this.selectTextColor = selectTextColor;
return this;
}
public TabInfoBuilder setNormalTextSizeSp(int size) {
this.normalTextSizeSp = size;
return this;
}
public TabInfoBuilder setSelectTextSizeSp(int size) {
this.selectTextSizeSp = size;
return this;
}
public TabInfoBean build() {
return new TabInfoBean(this);
}
}
}
호출 방식
String[] name={" "," "," "};
TabInfoBean.TabInfoBuilder tabInfoBuilder=new TabInfoBean.TabInfoBuilder(name,5,0);
/* TabInfoBean tabInfoBean=tabInfoBuilder
.setNormalResId()
.setSelectResId()
.setNormalTextColor()
.setSelectTextColor()
.setNormalTextSizeSp()
.setSelectTextSizeSp()
.build();*/
github 코드 주소
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.