c# - 无法将类型(公共活动实例)转换为 Xamarin Android C# 中的活动
问题描述
我想从我的活动中访问公共课程。我有一个名为HomePageActivity
(It's using AppCompatActivity
) 的公共类,它是公共类活动包含另一个名为Model.User CurrentUser
(它用于通过在我的数据库模型属性上调用 userEmail 来调用自登录以来的当前用户)。HomePageActivity 包含共享偏好,我将所有用户数据与当前用户、用户 ID 和电子邮件等变量一起存储,我可以从另一个类中调用它。在下一个活动(UploadActivity)中,我要访问HomePageActivity
及其属性。
所以,我做什么:
HomePageActivity
在我的下一个活动中声明UploadActivity
==>public HomePageActivity m_currentActivity;
- 调用
m_currentActivity
里面,onCreate
因为我用Android.Support.V4.App.FragmentActivity
==>m_currentActivity = (HomePageActivity) this.Activity;
- 尝试
m_currentActivity
在我需要的区域打电话==>m_currentActivity.idUser;
但是,我失败了。我卡住了。我无法投射 HomePageActivity。幸运的是,我可以m_currentActivity = (HomePageActivity) this.Activity;
在我的Android.Support.V4.App.Fragment
(在另一个片段上)使用,但是,为什么我不能在UploadActivity
其中使用我的Android.Support.V4.App.FragmentActivity
HomePageActivity
如果我不使用会发生什么m_currentActivity = (HomePageActivity) this.Activity;
?
好吧,根据我之前对片段和 UploadActivity 的反复试验,如果我不声明并强制转换 HomepageActivity,我将无法获取实体的值,例如我无法获取m_currentActivity.idUser
. 如果我调试,它将返回 null 或崩溃
object reference not set to an instance of an object
我已经搜索了很多文章,但我仍然无法得到我的答案。希望能听到大家的回答和建议。预先感谢!
解决方案
好吧,伙计们感谢您的回复。基本上,我使用意图并从我的主类访问。在此之前,我已经将全局变量放在我的主要活动中,所以我可以调用它们并从主要活动中访问它们
推荐阅读
- asp.net - ClickOnce 应用程序能否向浏览器返回值
- excel - 按一列分组,比较另一列,写在第三列
- javascript - clearAllSearchCriteria 的所有值都应该传递给 NoResult 组件
- javascript - 如何使用Backbone js中的函数从视图中调用另一个视图
- php - 如何从 foreach 循环中对刀片文件中的 linetotal 求和
- build - SCons:清理失败后重建
- php - Foreach 在对象中的值之后
- ruby-on-rails - Rails where(id: [1, 2, 3]) 查询如何获取搜索失败的id?
- c++ - C++ Winsock Google 搜索查询 GET 请求
- database - 如何将增量加载到 SQL 中