解決辦法:
1.定義命名空間,
private static String NAMESPACE_ANDROID = "http://schemas.android.com/apk/res/android";
2.在繼承GridView的構造方法中增加下代碼
//防止在api 11之前出錯
columnNum = attrs.getAttributeIntValue(NAMESPACE_ANDROID,"numColumns",2);
3.在使用到getNumColumns()的地方替換成columnNum ;
注意:使用該方式,在佈局文件中寫GridView佈局時,屬性android:numColumns="2"必須設固定值,不可使用auto_fit,否則獲取的列數將會爲0;