Android:在视图之间传递数据
在我的Android应用程序中,我有两个自定义视图类——肖像类和景观类。他们都做同样的事情。在运行应用程序时,view类从SD卡获取一些图片,然后进行计算(倾斜等)并显示它们。这两个类之间的唯一区别是屏幕上的图片布局略有不同 我有两个display.xml文件(一个在layout文件夹下,另一个在layout land下)。布局文件夹下的一个添加纵向,另一个添加横向类 在方向更改时,我希望将信息(图片编号和少量位图)从一个类发送到另一个类,这样我就不必再次获取所有位图,也可以显示正在显示的位图Android:在视图之间传递数据,android,view,parcelable,Android,View,Parcelable,在我的Android应用程序中,我有两个自定义视图类——肖像类和景观类。他们都做同样的事情。在运行应用程序时,view类从SD卡获取一些图片,然后进行计算(倾斜等)并显示它们。这两个类之间的唯一区别是屏幕上的图片布局略有不同 我有两个display.xml文件(一个在layout文件夹下,另一个在layout land下)。布局文件夹下的一个添加纵向,另一个添加横向类 在方向更改时,我希望将信息(图片编号和少量位图)从一个类发送到另一个类,这样我就不必再次获取所有位图,也可以显示正在显示的位图
我觉得包裹有点让人困惑。我尝试了以下操作,但我注意到在onRestoreInstance中,Parcelable的“mSuperState”为null,我得到一个classCastException@“SavedState ss=(SavedState)state”。我试图传递的整数(图片编号)就在那里。我不确定我做错了什么。不确定这是否是您要找的,但我的东西总是使用onCreate(Bundle savedInstanceState)进行方向更改。我的是编辑文本框中的所有文本,所以我不确定它对您有何作用 在“配置更改期间保持状态信息”下,也可以在中途查看此信息
您可以在应用程序类中使用全局单例。例如,此处提供了一个“AssetManager”:
public class YourApplication extends Application {
public AssetManager assetManager = new AssetManager();
@Override
public void onCreate()
{
super.onCreate();
}
}
然后,您可以从其他活动调用它:
YourApplication application = ((YourApplication ) this.getApplication());
application.assetManager.someFunction();
谢谢,我正在尝试做同样的事情,但是通过查看类而不是活动。我想我的问题是super.onSaveInstanceState返回null,我不知道为什么。