我在旋转屏幕以加载状态之前使用此方法:
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(配置NewConfig)),则由于该方法尚未执行所有行,并且该方法还没有结束,则UI并未完全加载。因此,在坐标中取无效。我不知道如何在用户界面充分充电以获取坐标后自动启动方法getCoordinates()。有人可以帮助我吗?
谢谢!!!!
添加布局侦听器。
请参阅:如何判断何时绘制布局?