DataTable dt = this.efDevGrid1.DataSource as DataTable;            int rownum = gridView1.RowCount;            for (int i = 0; i < rownum; i++)            {                if (efDevGrid...
在使用ScrollView嵌套 GridView 时,很容易出现 GridView 只显示一 的问题。这个问题的根源在于ScrollView会抢夺子布局的焦点,导致 GridView 无法正确的计算出其高度。 解决这个问题的方法主要有以下两种: 1. 设置 GridView 的高度 在嵌套的布局中,可以设置 GridView 的高度为“wrap_content”,这样就可以让其根据子项数量自动计算高度,而不是被ScrollView占据。 2. 重写 GridView 的onMeasure方法 在 GridView 中,可以重写onMeasure方法,将其高度设置为无限大。在实现上,可以将其heightMeasureSpec设置为MeasureSpec.makeMeasureSpec( Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST),这样就可以让 GridView 的高度可以根据子项数量自动计算,不被ScrollView限制。 总之,通过以上两种方法可以解决使用ScrollView嵌套 GridView 只显示一 的问题。需要注意的是,在同时使用两种方法时,应该选择其中的一种即可,不要重复设置 GridView 的高度。同时, GridView 的Adapter也需要正确实现getView方法并处理好布局,以便正确的显示子项。