android - 如何将 2 个数据绑定添加到一个活动
问题描述
我在我的应用程序中使用抽屉,这个抽屉在抽屉布局内。我在我的 activity_main.xml 上将那个抽屉称为
<RelativeLayout
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/munevo_orange">
<include layout="@layout/fragment_drawer" />
</RelativeLayout>
因为我使用的是数据绑定,所以在我的 MainActivity.java 中我使用了这样的数据绑定。
private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);
问题是,我还需要绑定抽屉,但是,它在不同的 xml 文件中,我无法访问它。我可以调用 2 数据绑定还是有更简单的方法?
ps:我的xml文件够大,所以想把抽屉拆分成另一个xml文件。
解决方案
<RelativeLayout
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/munevo_orange">
<include layout="@layout/fragment_drawer"
android:id="@+id/fragment_drawer"/>
</RelativeLayout>
解决了这个问题。MainActivity 中的用法是:
binding.fragment_drawer.buttonX.setText()
学分:@miladsalimi
推荐阅读
- python - 是否有内置的模拟对象可以传递给 Python 单元测试?
- node.js - 退出时出现工作线程错误的电子应用程序
- ios - 如何在 iOS 中访问用户的日志信息?
- c++ - std::thread 是否对其构造函数返回时发生的情况做出任何保证?
- r - 对 data.frame 的每一行执行 lm(),其中预测器长度不同
- ruby - 什么 vscode ruby 扩展检测到未声明的变量之类的东西?
- javascript - 如果窗口宽度在 1000 像素以下超过 0.2 秒,是否可以重新加载网站?
- javascript - 将数值从一个 php 文件传递到另一个
- angular - Angular 9 服务使用 Observables/BehaviorSubject 按父 ID 返回结果
- html - 如何将 css 类应用于 ngFor 中的单个项目