我想要操作一个我刚刚发现的用于拖动/旋转和收缩缩放图像的库。我使用了两个来源:
-The库本身: MultiTouchController.java https://code.google.com/p/android-multitouch-controller/source/browse/MTController/src/org/metalev/multitouch/controller/MultiTouchController.java
该库的-An实现:PhotoSortrView https://code.google.com/p/android-multitouch-controller/source/browse/MTPhotoSortr/src/org/metalev/multitouch/photosortr/PhotoSortrView.java
实现此源代码的Activity的-an示例:
public class PhotoSortrActivity extends Activity {
PhotoSortrView photoSorter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle(R.string.instructions);
photoSorter = new PhotoSortrView(this);
setContentView(photoSorter);
}
@Override
protected void onResume() {
super.onResume();
photoSorter.loadImages(this);
}
@Override
protected void onPause() {
super.onPause();
photoSorter.unloadImages();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
photoSorter.trackballClicked();
return true;
}
return super.onKeyDown(keyCode, event);
}}
问题是,当活动离开前景时,它不会记住图像的位置,而在离开前景后,我会回忆起它。更糟糕的是,每次调用Activity时图像都是随机设置的。
如何让Activity记住图像的状态?(在我的例子中,具体的问题是它是一个自定义视图)
下面是我希望Activity记住的一个例子,然后是Activity在被再次调用后所做的重置:


发布于 2015-03-08 02:04:48
请参见onCreate()中的savedInstanceState参数?您可以覆盖onSaveInstanceState()来设置一个记住您的活动状态的包,它会显示在onCreate()中。
现在,如果您的问题是:如何在不更改PhotoSortrView类的情况下保存活动状态;好吧,您不能。您必须向loadImages()添加一些状态参数,以便它加载图像并设置当前图像,还可以更改unloadImages(),使其返回活动可以保存的一些状态信息。
https://stackoverflow.com/questions/28917870
复制相似问题