마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

java.lang.IllegalArgumentException: column indices (start + span) mustn't exceed the column count.

0 추천

 

어플리케이션 개발중 정말 제가 알수 없는 에러가 발생해 질문합니다.!

 

현재 베가레이서 1과 옵티머스 뷰2로 개발을 하고 있습니다.

 

그런데 희한한것이 레이서 1에서는 잘 실행되는데 뷰2에서는 실행이 안되는것입니다!

 

어떤 부분에서 에러가 나타나냐면....

 

현재 그리드레이아웃에 버튼들을 올려놓는것을 자바소스로 제작하고 있습니다.

 

최초 초기값은 버튼 100개가 올려저 있구요

 

옵션에서  81, 64, 49 이렇게 size x size별로 버튼들을 다시 올리는 기능을 만들고 있습니다.

 

최초 10 x 10, 100칸으로 초기설정값으로 해서는 구동이 되는데 

 

다른 값으로 넣으면 에러가 발생합니다.

 

더 정확히는 그리드레이아웃에 버튼을 올릴떄

gridlayout.addview(btn[i]) -> 요 구문에서 에러가...

.

.

.

.

 

레이서1에서는 되고 뷰2에서는 안되네요 ㅠ_ㅠ

 

 

이 에러를 필두로

java.lang.IllegalArgumentException: column indices (start + span) mustn't exceed the column count. 

 

밑에 사진들의 에러가 쭈루룩 나옵니다.

 

밑 이미지 url

http://www.masterqna.com/android/?qa=blob&qa_blobid=7916742133893825509

 

아직 초보단계인 저에겐 무슨말인지 모르겠네요 ㅠㅠ

 

레이서 1은 아이스크림샌드위치

뷰2는 젤리빈

 

어플 개발 타겟은 아이스크림샌드위치

 

이고... 어떤걸 더 알려드려야할지....

푸리리링 (120 포인트) 님이 2013년 4월 13일 질문
푸리리링님이 2013년 4월 13일 수정

1개의 답변

0 추천

오류를 이렇게 봐서는 자세히 모르구요...

보통 오류나게 되면

java.lang.IllegalArgumentException  <-- 요부분을 구글링 해보세요 ...

column indices (start + span) mustn't exceed the column count.  그 뒤에는 옵션으로 ...

그리고 그 밑에줄에 자기 패키지명으로 된거 클래스에  몇번째 라인에서 났는지 체크해 보시고 ...

 

 

http://mirror.yongbok.net/linux/android/repository/frameworks/base/core/java/android/widget/GridLayout.java

요기 보니까

private void checkLayoutParams(LayoutParams lp, boolean horizontal) {
        String groupName = horizontal ? "column" : "row";
        Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
        Interval span = spec.span;
        if (span.min != UNDEFINED && span.min < 0) {
            handleInvalidParams(groupName + " indices must be positive");
        }
        Axis axis = horizontal ? horizontalAxis : verticalAxis;
        int count = axis.definedCount;
        if (count != UNDEFINED) {
            if (span.max > count) {
                handleInvalidParams(groupName +
                        " indices (start + span) mustn't exceed the " + groupName + " count");

            }
            if (span.size() > count) {
                handleInvalidParams(groupName + " span mustn't exceed the " + groupName + " count");
            }
        }
    }

 

구글링하니까 요런게 나오네요 ...

에러 내용은 대충 잘못된 아규먼트때문인거 같은데

도움이 될란가 모르겠지만 참고해 보세요~ ^^;;

 

ankarkied (3,210 포인트) 님이 2013년 4월 13일 답변
아 한가지를 알아냈습니다.

버튼 갯수를 다시 설정해 줫을떈

1행 이상 넘어가질 못하고 에러가 발생하네요

왜이러지 ;;

setColumnCount로 행 갯수 설정해줬는데...
...