Android:在视图之间传递数据

Android:在视图之间传递数据,android,view,parcelable,Android,View,Parcelable,在我的Android应用程序中,我有两个自定义视图类——肖像类和景观类。他们都做同样的事情。在运行应用程序时,view类从SD卡获取一些图片,然后进行计算(倾斜等)并显示它们。这两个类之间的唯一区别是屏幕上的图片布局略有不同 我有两个display.xml文件(一个在layout文件夹下,另一个在layout land下)。布局文件夹下的一个添加纵向,另一个添加横向类 在方向更改时,我希望将信息(图片编号和少量位图)从一个类发送到另一个类,这样我就不必再次获取所有位图,也可以显示正在显示的位图

在我的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,我不知道为什么。