当我旋转屏幕以加载之前的状态时,我使用这种方法:
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
view1 = new DrawView(this);
setContentView(view1);
Bundle bundle = this.getIntent().getExtras();
onRestoreInstanceState(bundle);
getCoordinates();//NO WORKS WELL
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
//Here I set the values to images: colors, borders, etc ...
}
我在AndroidManifest中有下一行:
android:configChanges="orientation|screenSize"
在getCoordinates()方法中,我有下一个代码:
public void getCoordinates(){
final int[] values = new int[2];
image.getLocationInWindow(values);
x = values[0];
y = values[1];
width = image.getWidth();
height = image.getHeight();
}
以前的代码并不完全是我所拥有的,但它是一个例子。我的真实代码没有太大变化。 但我有一个问题,我必须知道图像的坐标,以在图像之间画线。但是如果我通过示例启动方法(onConfigurationChanged(Configuration newConfig)),因为该方法尚未执行所有行并且方法尚未结束,则UI不能完全加载。因此,在坐标中获取空值。 我不知道如何在用户界面完全充电以获取坐标后自动启动方法getCoordinates()。有人可以帮帮我吗?
感谢!!!!