3

在我的活动中,我在 onCreate() 中有一个 GridView 和自定义适配器:

    GridView vg = (GridView) findViewById(R.id.gridview);
    ArrayList<CustomPart> items = ...;
    vg.setAdapter(new TaskVariantsAdapter(this, items));

我需要知道 GridView 中列的实际宽度才能对某些图像进行特殊缩放。我注意到 getView() 中的“父级”已经具有非零列宽 - 至少我能够从 parent.getColumnWidth() 获取整数。

        // create a new ImageView for each item referenced by the Adapter
        public View getView(int position, View convertView, ViewGroup parent) {
           ....
           int width = ((GridView) parent).getColumnWidth();
           ....
        }

我可以确定父母已经被测量并且 columnWidth 是正确的吗?我问是因为(当然)活动在 onCreate() 中没有宽度和高度。我需要知道在所有布局测量之后第一个adapter.getView() 将是什么,即使我将adapter 附加到activity.onCreate() 内的GridView。你能确认一下吗?

4

0 回答 0