C# Can';t将类型(公共活动实例)强制转换为Xamarin Android C中的活动#
我想从我的活动中访问公共类。我有一个名为C# Can';t将类型(公共活动实例)强制转换为Xamarin Android C中的活动#,c#,android,xamarin,xamarin.android,C#,Android,Xamarin,Xamarin.android,我想从我的活动中访问公共类。我有一个名为HomePageActivity(它使用的是AppCompatActivity)的公共类,即公共类活动包含另一个名为Model.User CurrentUser(用于在登录后通过调用数据库模型属性上的userEmail调用当前用户)。HomePageActivity包含共享首选项,我使用当前用户、用户ID和电子邮件等变量存储所有用户数据,并且可以从另一个类调用它。在下一个活动(UploadActivity)中,我想访问HomePageActivity及其属
HomePageActivity
(它使用的是AppCompatActivity
)的公共类,即公共类活动包含另一个名为Model.User CurrentUser
(用于在登录后通过调用数据库模型属性上的userEmail调用当前用户)。HomePageActivity包含共享首选项,我使用当前用户、用户ID和电子邮件等变量存储所有用户数据,并且可以从另一个类调用它。在下一个活动(UploadActivity)中,我想访问HomePageActivity
及其属性
那么,我做什么:
HomePageActivity
,该活动位于UploadActivity
==>公共HomePageActivity m\u currentActivity代码>
m_currentActivity
内部onCreate
,因为我使用的是Android.Support.V4.App.FragmentActivity
=>m_currentActivity=(HomePageActivity)this.Activity代码>
m\u currentActivity.idUser上的m\u currentActivity
代码>
m_currentActivity=(HomePageActivity)this.Activity代码>在我的Android.Support.V4.App.Fragment
(在另一个片段上)但是,为什么在使用Android.Support.V4.App.FragmentActivity的UploadActivity
中,我不能播放我的HomePageActivity
如果我不使用m_currentActivity=(HomePageActivity)this.Activity会发生什么代码>?
好的,根据我之前在片段和上传活动上的尝试和错误,如果我不声明并转换HomepageActivity,我就无法获得实体的值,比如我无法获得m\u currentActivity.idUser
的值。如果我调试,它将返回null或崩溃
object reference not set to an instance of an object
我搜索了很多文章,但还是找不到答案。我希望听到你们所有人的回答和建议。提前感谢 此.Activity仅在片段内部可用。如果您的UploadActivity
继承自Android.Support.V4.App.FragmentActivity
您将无法获得此.Activity。如果您在UploadActivity
中运行任何片段,而不是在这些片段中运行任何片段,则您将获得此类型的活动UploadActivity
如果您需要带一些数据到下一个活动,请使用意图。如果确实需要上一个活动的完整上下文,请在第一个活动中使用static
属性,并在其中传递this
。在这种情况下,您可以在HomePageActivity
中创建一个类型为HomePageActivity
的静态属性,并在其中的OnCreate
方法pass中创建此(当前实例)。该物业将在整个项目中提供。如果绝对必要,一定要使用它 各位,谢谢你们的回复。基本上,我使用intent并从主类访问。在此之前,我已经在我的主活动中放置了全局变量,因此,我可以调用它们并从主活动访问它们当我将属性设置为public时,我可以在第二个活动中访问一个活动的属性。你能给我们看一下要测试的代码吗?