我的活动准备就绪后,我正试图从myImageView.getImageMatrix()
方法获取值。
我尝试使用onCreate()
,onStart()
,onResume()
方法,但我得到的矩阵是默认值。
如果我通过OnClickListener触发myImageView.getImageMatrix()
,则在我的活动可见后,我会得到正确的值。
为了更清楚:
调用getImageMatrix onStart = Matrix{[1.0, 0.0, 0.0][0.0, 1.0,
0.0][0.0, 0.0, 1.0]}
调用getImageMatrix onClick = Matrix{[0.77488154, 0.0,
7.6717987][0.0, 0.77488154, 0.0][0.0, 0.0,
1.0]}
答案 0 :(得分: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);
}
});
答案 1 :(得分:4)
我不是100%但我需要知道类似于我的开发,我发现在加载视图时会调用onWindowFocusChanged()。我不确定这是否满足您的需求。
答案 2 :(得分:1)
也许你可以使用onLayoutChangeListener,但我不确定。
答案 3 :(得分:0)
也许您可以使用AsyncTask(http://developer.android.com/reference/android/os/AsyncTask.html)来监控ImageView是否已加载(可能不等于null)。
您可以在onProgressUpdate中显示一个progess对话框,然后从onPostExecute继续您的代码。