我有一个活动,它是整个应用程序中使用的主要活动,它有许多变量.我有两个其他活动,我希望能够使用第一个活动的数据.现在我知道我可以这样做:
GlobalState gs = (GlobalState) getApplication();
String s = gs.getTestMe();
Run Code Online (Sandbox Code Playgroud)
但是我想分享很多变量,有些变量可能比较大,所以我不想像上面那样创建它们的副本.
有没有办法直接获取和更改变量而不使用get和set方法?我记得在Google开发网站上阅读了一篇文章,称不建议在Android上使用此功能.
我把一个非常简单的应用程序放在一起,在使用Dialog主题(github上的源代码)启动活动时使用共享元素转换.
我得到了以下结果:

如您所见,转换/动画有2个问题:
我该如何解决这些问题?任何帮助,将不胜感激.
编辑:在Quanturium的回答之后,我做了以下事情来使它工作:
使用以下主题而不是Dialog主题:
<style name="AppTheme.Transparent" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用CardView作为Dialog外观和圆角和阴影的背景.
调用finishAfterTransition(); 当用户点击CardView外部时.
现在它看起来像这个(代码),CardView需要精炼以更好地匹配Dialog,但它至少工作:
