8

myImageView.getImageMatrix()アクティビティの準備ができたら、メソッドから値を取得しようとしています。onCreate()、、メソッドを使用してみましたがonStart()onResume()取得したマトリックスがデフォルトです。

myImageView.getImageMatrix()OnClickListenerによってトリガーされて呼び出すと、アクティビティが表示された後、正しい値が取得されます。


より明確にするために:

  • getImageMatrixonStart=の呼び出しMatrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}

  • getImageMatrixonClick=の呼び出しMatrix{[0.77488154, 0.0, 7.6717987][0.0, 0.77488154, 0.0][0.0, 0.0, 1.0]}

4

4 に答える 4

16

この方法を試すこともできます。

ImageView myImageView = (ImageView) findViewById(R.id.myImageView);
ViewTreeObserver vto = myImageView.getViewTreeObserver();      
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {          
     @Override          
     public void onGlobalLayout() {              
        // do something now when the object is loaded 
        // e.g. find the real size of it etc          
        myImageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);        
     }      
});  
于 2012-01-05T11:35:22.727 に答える
4

私は100%ではありませんが、開発について同様のことを知る必要があり、ビューがロードされるときにonWindowFocusChanged ()が呼び出されることがわかりました。それがあなたのニーズを満たすかどうかはわかりません。

于 2012-01-05T11:00:37.173 に答える
1

onLayoutChangeListenerを使用できるかもしれませんが、よくわかりません。

于 2012-01-05T10:43:31.630 に答える
0

おそらく、ImageViewがロードされたかどうかを監視するAsyncTask(http://developer.android.com/reference/android/os/AsyncTask.html)を使用できます(おそらくnullと等しくない)。

onProgressUpdateで進行状況ダイアログを表示してから、onPostExecuteからコードを続行できます。

于 2012-01-05T10:46:55.907 に答える