划分5个View将界面进行模块划分以几个View填充

1 BaseModule-View基类

public abstract class BaseModule<T>{
    private Context mCtx;
    public View view;

    public BaseModule(Context ctx){
        this.mCtx = ctx;
        view = initView();
    }
    //因为在父类中不知道详情4个拆分出来模块的具体布局效果
    public abstract View initView();
    //因为在父类中不知道详情4个拆分出来模块的具体数据也不知道控件有哪些,所以提供一个给控件填充数据方法
    public abstract void bindData(T t);
}

2 子view

public class AppInfoModule extends BaseModule<HomeInfo.AppInfo> {
 
    @BindView(R.id.tv_name)
    TextView tvName;

    public AppInfoModule(Context ctx) {
        super(ctx);
    }

    @Override
    public View initView() {
        View view = UIUitls.inflate(R.layout.layout_app_info);
        ButterKnife.bind(this,view);
        return view;
    }

    @Override
    public void bindData(HomeInfo.AppInfo appInfo) {
        tvName.setText(appInfo.getName());
    }
}

3 将View添加至帧布局中。

public class DetailActivity extends AppCompatActivity {
    @BindView(R.id.fl_app_info)
    FrameLayout flAppInfo;

    @BindView(R.id.fl_app_safe)
    FrameLayout flAppSafe; 

    private View onSubCreateSuccessedView() {
        View view = UIUitls.inflate(R.layout.activity_detail);
        ButterKnife.bind(this,view);

        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

        //将顶部应用基本信息添加至帧布局中
        AppInfoModule appInfoModule = new AppInfoModule(UIUitls.getContext());
        appInfoModule.bindData(detailAppInfo);
        flAppInfo.addView(appInfoModule.view);
        //安全相关
        AppSafeModule appSafeModule = new AppSafeModule(UIUitls.getContext());
        appSafeModule.bindData(detailAppInfo);
        flAppSafe.addView(appSafeModule.view);
       ...
        return view;
    }

    
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值