美文网首页
mvvm大表单维护手册

mvvm大表单维护手册

作者: ddsfec | 来源:发表于2019-03-11 17:45 被阅读0次


一、配置

android{dataBinding {

enabled =true

}}

二、文件

还有string里的就不需要了

三、activity调用

//加载公共根布局

setContentView(R.layout.activity_com_static_tab_scroll);

//建立表单的容器

ViewGroup rightView = (ViewGroup) getWindow().getDecorView().findViewById(R.id.com_static_tab_right_ll);

//添加一些静态的ui组件

leftView.addView(getLarge_ClassTextView(R.layout.view_large_class_textview,"登记信息"));

//绑定mvvm界面

dataBind1 = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.view_14_reg_essential_infor, leftView,true);

//旧代码会用到黄油刀

ButterKnife.bind(this, getWindow().getDecorView());

//查看页面所有按钮无效,就改这个常量就行了。

setMvvmViewDisable(isHistory);

xml:

android:enabled="@{DataEvent.int1Enable==0?true:false}"

//开启字段非空验证

onClickListeners.openVerifty();//启用必填项验证

//初始化实体,并注册流程变量,个点击事件

initDataBean();

dataBind1.setVariable(BR.BaseinfoEntity,base.getBaseinfo());

postDataBind0.setVariable(BR.DataEvent,onClickListeners);

四、mvvm方法

1.数据字典功能

onClickListeners=new DataEvent(getContext());//上下文不得为空

public class DataEventextends MvvmEvent {

public DataEvent(Context mContext) {

super(mContext);

}

//重写自己需要的非公共接口

@Override

    public void onDict(final View view, String tabname) {

try {

//数据字典功能,将这个类作为内部类拖进去就可以了,三级缓存、数据库,树形图,缺少文件按报红补全。

//注意,如果遇到未处理token=-2失效代码参照绿色通道。不然线程不会终止

new CommonSpinner(tabname, (TextView) view,true) {

@Override

                void returnCode(String code) {

//dealcode,将指set到view就好了。

dealCode(view, code);

//这里可能需要刷新

                    postDataBind0.invalidateAll();

}

};

}catch (Exception e) {

e.printStackTrace();

}

}

}

xml:

android:drawableRight="@{FeedBackEntity.clewcheck.equals(@string/default_null) ||FeedBackEntity.clewcheck==null? @drawable/arrow_red : @drawable/arror_gray}"

android:onClick="@{(v)->DataEvent.onDict(v,@string/dh076)}"

app:dict="@{FeedBackEntity.clewcheck}"

app:tabName="@{@string/dh076}"

2.非空校验。

//注意onClickListeners.openVerifty();//启用必填项验证

return onClickListeners.isAllRight();

xml:

app:verifyMap="@{DataEvent.VerifyViewMap}"

app:toastString="@{@string/str_sfsza}"//吐司文字

//注意根布局被联动子布局不会修改visable

app:verifyTagId="@{@string/id_layout_isPor}"//标记id 被标记view这visable变=可见验证有效,

//注意:表单外框使用这个TelescopicLinearLayout自定义控件,根布局必需第一个tv。第二个linear

//注意:如果是edit需要在databean里面手动刷新。

//注意:二级联动需要使用string的方法例如startswith 并且不能传"string"

android:visibility="@{FeedBackEntity.clewcheck.startsWith(@string/str_1)?View.VISIBLE:View.GONE}"

四、如果你们要新建页面

基本配置

        xmlns:android="http://schemas.android.com/apk/res/android">

            name="FeedBackEntity"

            type="com.bean.FeedBackEntity"/>

            type="com.bean.MediaTEEntity"/>

相关文章

  • mvvm大表单维护手册

    一、配置 android{dataBinding { enabled =true }} 二、文件 三、activi...

  • 硬件维护品质控制手册1.0

    这本手册是干什么的? 这本手册是医院内部硬件维护学习使用,统一硬件维护部门的认识。 ---------------...

  • react_09受控组件与非受控组件(二)

    受控组件定义: 在HTML中,表单元素(input、textarea、select)之类的表单元素通常自己维护st...

  • MVVM

    MVVM的出现主要是为了解决在开发过程中Controller越来越庞大的问题,变得难以维护,所以MVVM把数据加工...

  • Vue.JS 单页应用 - 联系人管理(三)

    前言 上一篇中,数据在表格和表单中实现了同步显示,修改表单数据时,表格中的数据也同时变化,这说明MVVM的双向绑定...

  • Angular 4 动态表单教程 Reactive Forms教

    动态表单(React Forms)是一种动态构建表单的技术,用于解决有时候手动编写和维护表单所需工作量和时间会过大...

  • React学习笔记(8)表单

    受控组件 官网中对受控组件定义如下。 在 HTML 中,表单元素(如 、 和 )之类的表单元素通常自己维护 ...

  • React学习 —— 受控组件、生命周期、PureCompone

    受控组件与非受控组件 受控组件: 在 HTML 中,表单元素(如 、 和 )之类的表单元素通常自己维护 st...

  • 2018-01-23

    ##APWindowsFormsDemo软件维护手册 ###1 引言 ####1.1 编写目的: 供需要在wind...

  • uni-app小程序input数据回显

    小程序表单,用户维护基本信息,如果该微信号第一次维护,展示提示信息,如果已经维护过,回显已提交信息。效果如图: 代...

网友评论

      本文标题:mvvm大表单维护手册

      本文链接:https://www.haomeiwen.com/subject/labbpqtx.html