当前位置: 首页 > news >正文

免费建站网站靠谱吗找网络公司做推广费用

免费建站网站靠谱吗,找网络公司做推广费用,陕西省住建网,wordpress表单美化什么叫databinding 数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。使用数据绑定可以简化 findViewById 。 如何使用 应用模块下 build.gradle 文件中添加 data…

什么叫databinding

数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。使用数据绑定可以简化 findViewById 。

如何使用

应用模块下 build.gradle 文件中添加 dataBinding 元素,如下

dataBinding {enabled = true
}

单向绑定

activity_list

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><variablename="user"type="com.gxx.databinding.data.UserData" /></data><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="@{user.userName}" /><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:text="@{String.valueOf(user.age)}" /></LinearLayout>
</layout>

ListActivity

class ListActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)var binding =DataBindingUtil.setContentView<ActivityListBinding>(this, R.layout.activity_list)binding.lifecycleOwner = thisvar userData = UserData()userData.age = 10userData.userName = "你好"binding.user = userData}
}

 UserData

class UserData {var userName: String? = nullvar age: Int = 0
}

可观察的数据对象

任何 plain-old 对象都可用于数据绑定,但修改对象不会自动使界面更新。通过数据绑定,数据对象可在其数据发生更改时通知其他对象,即监听器,可观察类有三种不同类型:对象、字段和集合。当其中一个可观察数据对象绑定到界面并且该数据对象的属性发生更改时,界面会自动更新。

结合 LiveData 将数据变化通知给界面

ViewModelActivity
class ViewModelActivity : AppCompatActivity() {private lateinit var userViewModel: UserViewModeloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)val binding = DataBindingUtil.setContentView<ActivityViewmodelBinding>(this,R.layout.activity_viewmodel)binding.lifecycleOwner = thisuserViewModel = ViewModelProvider(this,ViewModelProvider.NewInstanceFactory()).get(UserViewModel::class.java)binding.viewModel = userViewModel}
}

UserViewModel

class UserViewModel : ViewModel() {val userLiveData = MutableLiveData<UserData>()init {thread {for (x in 1..10) {Log.d("TAG", "服务器给你推送消息啦{叮咚声音}$x")val userData = UserData()//userData.userName.set("接收服务器声音$x")userData.userName = "接收服务器声音$x"userLiveData.postValue(userData)Thread.sleep(2000)}}}
}
class UserData : BaseObservable() {val userName: ObservableField<String> by lazy { ObservableField<String>() }var age: Int = 0
}
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><variablename="viewModel"type="com.gxx.databinding.viewmodel.UserViewModel" /></data><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="@={viewModel.userLiveData.userName}" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="@={viewModel.userLiveData.userName}" /></LinearLayout>
</layout>

http://www.rdtb.cn/news/2889.html

相关文章:

  • 深圳外贸响应式网站建设企业策划推广公司
  • 广州网站建设藤虎网络网络营销系统
  • 网站登录不上怎么回事网上培训机构
  • 做数据分析网站seo优化网站推广专员招聘
  • 一个网站做两级三级是什么意思合肥全网推广
  • 宣传做传单的网站厦门seo关键词优化培训
  • 车辆管理网站开发如何制作链接推广
  • 嘉兴企业网站排名优化培训机构招生方案
  • 网站如何维护最佳bt磁力猫
  • 如何做网站电话网站前期推广
  • 网站开发学什么比较有优势软件开发工具
  • 上海网站建设流如何制作网站教程
  • 做seo要明白网站内世界足球排名前十名
  • 12306网站为什么做不好使今天大事件新闻
  • 国际消息新闻网站优化师
  • 网站建设 公司 广州站长统计app进入网址新版
  • 界首工程建设信息网站杭州seo渠道排名
  • wordpress优酷插件下载平台优化是指什么
  • 网站设置价格错误不愿意发货线上营销方式6种
  • 交通信用网站建设百度官网电话
  • 域名服务网站建设科技公司灰色产业推广引流渠道
  • 卫生局网站模板竞价排名是什么
  • 网站排名优化机构今天高清视频免费播放
  • 帮别人做高仿产品网站 违法么在线bt种子
  • 海南建设大厅网站百度查询
  • 义乌网站建设工作室网络公司名字大全
  • 四川电脑网站建设长沙网站优化推广方案
  • 广州网站建设联系信科海珠百度指数专业版价格
  • asp网站变慢怎么样做免费的百度seo
  • wordpress建企业网站教程网络营销项目策划书