我在旋转屏幕以加载之前的状态时使用此方法:
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()。任何人都可以帮助我吗?
谢谢!!!!