public class LoginActivity extends BaseActivity {
private LoginView mLoginView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
this.mLoginView = new LoginView(this);
this.mLoginView.setDataShowPage(this.mType);
}
}
public class LoginView extends LinearLayout {
private TextView tv_bind_switch;
public LoginView(Context context) {
super(context);
this.activity = (Activity) context;
initView();
}
public LoginView(Context context, @Nullable AttributeSet attributeSet) {
super(context, attributeSet);
this.activity = (Activity) context;
initView();
}
public LoginView(Context context, @Nullable AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
this.activity = (Activity) context;
initView();
}
public void initView(){
LayoutInflater.from(this.activity).inflate(R.layout.view_login_layout,this);
this.tv_bind_switch = findViewById(R.id.tv_bind_switch)
}
public void setDataShowPage{
this.tv_bind_switch.setVisibility(View.GONE);
}
}
//已经初始化的LinearLayout,外部调用更改内部布局,不生效怎么办
你都没有setContentView何谈生效?
public void initView(){
LayoutInflater.from(this.activity).inflate(R.layout.view_login_layout,this);
this.tv_bind_switch = findViewById(R.id.tv_bind_switch)
}
LayoutInflater.from(this.activity).inflate(R.layout.view_login_layout,this);返回了一个View,但它跟你的代码没有任何关系,你并没有接收它,也没用它做任何事。
就好像“int i = 1+1;”我们得到了一个值为2的参数i。
但你只写“1+1;”你什么也没拿到。