8

myImageView.getImageMatrix()一旦我的活动准备就绪,我就会尝试从方法中获取值。我尝试使用onCreate(), onStart(),onResume()方法,但我得到的矩阵是默认值。

如果我调用myImageView.getImageMatrix()由 OnClickListener 触发,则在我的活动可见后,我会得到正确的值。


只是为了更清楚:

  • 调用 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]}

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

也许您可以使用 AsyncTask (http://developer.android.com/reference/android/os/AsyncTask.html) 来监控 ImageView 是否已加载(可能不等于 null)。

您可以在 onProgressUpdate 中显示一个进度对话框,然后从 onPostExecute 继续您的代码。

于 2012-01-05T10:46:55.907 回答