这类问题会定期出现。抱歉,如果之前已经介绍过,但我是新手,找不到合适的答案。它处理类和活动之间通信的正确实现。
我做了一个画廊应用程序。它有 3 个主要活动:Main
一个,使用模式搜索文件名;一个Thumb
,将与模式匹配的所有图像显示为网格视图中的缩略图,以及一个Photo
活动,当您单击Thumbs
. 我通过文件名(一个数组)和网格视图中单击的拇指的(一个)传递给Photo
活动。Intent
position
int
这第三个Photo
活动只有一个视图: a TouchImageView
,我根据您在图像上的短按位置(左、右或中间)调整了上一个/下一个切换和缩放。此外,我添加了一个 longclick 监听器Photo
来显示 EXIF 信息。
事情正在工作,但我对实施不满意......有些事情不对。
我遇到的问题之一是,如果我单击图像右侧以查看Photo
活动中的下一个,它会正常切换 ( position++
),但是在旋转设备时会position
出现原始设备。
正在发生的事情是Photo
在旋转图像时被破坏,并且由于某种原因它再次重新启动,而不服从super.onCreate(savedInstanceState)
,再次加载 Extras(position
唯一更改Photo
,而不是父活动)。
我尝试使用startActivityForResult
而不是startActivity
,但失败了......
当然,我可以做一些人为的事情来保存position
数据,但是应该有一些我不了解活动如何工作的“概念性”,我想正确地做到这一点。
有人可以解释一下我做错了什么,这是实现我想要的最佳方法,为什么?
非常感谢!!!