2010-12-22 4 views
0

안녕 얘들 아 내가 널 포인터 예외를 얻고 문자열 배열에 문자열을 할당하려고하면은 .. Pls는 나에게 솔루션을 제공 .. 여기 안드로이드 배열 문자열

내 코드와 나는이에 널 포인터를 얻고있다 줄 엄지 [j] = 제목; 코드는 다음과 같이 ...

for (int i = 0; i < items.getLength(); i++) { 
     Node item = items.item(i); 
     NodeList properties = item.getChildNodes(); 
     for (int j = 0; j < properties.getLength(); j++) { 
      Node property = properties.item(j); 
      String name = property.getNodeName(); 
      if (name.equalsIgnoreCase("title")) { 
       try{ 
        property.normalize(); 
        Spanned title2 = Html.fromHtml(property.getFirstChild().getNodeValue().replaceAll("\\<.*?>", "")); 
        title = title2.toString(); 
       }catch(Exception e){ 
        Log.v("Exception",""+e); 
       } 
       thumbs[j]=title; 
      } 
     } 
    } 
+2

어디에서 '엄지 손가락'을 초기화 했습니까? 우리에게 보여줄 수 있니? – Cristian

답변

0

엄지 손가락이 null 일 가능성이 있습니다. 초기화하지 않으면 컴파일 오류가 발생하지 않습니다. IDE에서 초기화 된 것이 코드를 검사하여 자신에게 증명할 수 있는지 또는 매번 사용하기 전에 엄지 손가락의 값을 인쇄하는지 알려주지 마십시오.

그 줄에서 유일한 예외는 ArrayIndexOutOfBoundsException, j> thumbs.length-1 인 경우입니다. 하지만 다시 NPE가 아닙니다. title이 null 인 경우는 예외이며 예외는 아닙니다.

1

내 생각 엔 엄지 손가락은 []과 같은 일을 뭔가를 초기화되어 있지 않은 점이다

문자열 [] 엄지 손가락 = 새로운 String [properties.getLength()];

말하기는 어렵지만 코드에는이 배열에 대한 선언이 표시되지 않습니다.

+0

아니요, 내가 다시 읽었습니다. 초기화하지 않았다면 ECLIPSE에서 보여줄 것입니다. – Venky

+0

전체 수업을 게시 할 수 있습니까? title가 null의 경우, null 포인터 예외는 취득되지 않기 때문에, thumbs [j]는 null가 아니면 안됩니다. 그것이 null 일 수있는 유일한 방법은 제대로 init'd되지 않은 경우입니다. 내가 말했듯이 전체 클래스 파일을 보지 않고서도 확실히 알 수는 없다. – Nath

+0

k i 빌 바로 지금 전체 코드를 게시한다. – Venky