0

画面を回転して前の状態を読み込むときに、このメソッドを使用します。

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が完全に読み込まれません。したがって、座標でnullを取得します。座標を取得するためにユーザーインターフェイスが完全に充電されたら、メソッドgetCoordinates()を自動的に起動する方法がわかりません。誰かが私を助けることができますか?

ありがとう!!!!

4

1 に答える 1

0

レイアウト リスナーを追加します。

参照:レイアウトが描画されたことをどのように確認できますか?

于 2013-04-17T14:48:44.043 に答える