c# - FindViewById 可以在没有 SetContentView 的情况下访问所有布局中的元素
问题描述
所以我目前正在为 android 开发一个小型 Xamarin 项目,我注意到我可以使用 FindViewById 从项目中的任何布局访问任何按钮、微调器等。
即使我从项目中删除了所有 SetContentView 实例,这仍然适用。
我是否误解了 FindViewById 定位和访问布局的位置和方式?我想确保我的活动只能访问我指定的单个布局
例如:
SetContentView(Resource.Layout.layout123);
var next = FindViewById<Button>(Resource.Id.next);
var save = FindViewById<Button>(Resource.Id.save);
如何确保仅从 layout123 而不是 layout234 中获取下一个并保存按钮?
编辑:@apineda 在聊天中回答。事实证明,这与 VS 没有发现调试中的错误有关,但在应用程序运行时,错误会按预期弹出。
解决方案
推荐阅读
- java - 我如何根据 Java 中的日历周从日历年中明智地获取数据周
- javascript - 春季无法获取keycloak授权令牌
- android - DataBinding:在点击时通过 LiveData 变量调整可见性
- php - php curl获取页面上的img src值
- matlab - MATLAB 通过 UDP 编写混合数据类型
- api - 如何选择保护 Mulesoft API 的方法?
- javascript - Javascript'类型错误未捕获的TypeError:无法设置未定义的属性'backgroundColor'但有效
- javascript - 从字符串 JS / Lodash / TypeScript 中获取数字
- spring-cloud-stream - 设置为 RabbitMQ 生成的消息的属性
- java - Spring AMQP手动容器异常慢