2014-12-08 4 views
1

배열 목록에서 요소를 복사하고 내 활동에 전달하려고합니다. 또한 내 if 문에서 gfList가 동일하지 않은지 확인합니다. 0 Java가 불만을 토로합니다. GroupedFeed를 int로 형변환 할 수 없습니다. 누구든지 문제가 무엇인지 알면 내 활동에 요소를 복사하고 지나치는 방법을 보여줄 수 있습니다. 미리 감사드립니다! 당신이 줄을 int로 목록을 캐스팅해야 할Java에서 요소를 복사하는 방법은 무엇입니까?

this Main (id=831962574768) 
groupedFeeds ArrayList (id=831963150464)  
    array Object[12] (id=831963153088) 
     [0] GroupedFeed (id=831963152968) 
      category "Women's Golf" (id=831962986192)  
      feeds ArrayList (id=831963152992)  
     [1] GroupedFeed (id=831963153592) 
      category "Volleyball" (id=831962991720) 
      feeds ArrayList (id=831963153616)  
     [2] GroupedFeed (id=831963153744) 
      category "Men's Soccer" (id=831962996544)  
      feeds ArrayList (id=831963153768)  
     [3] GroupedFeed (id=831963153896) 
      category "Women's Soccer" (id=831963006320) 
      feeds ArrayList (id=831963153920)  
     [4] GroupedFeed (id=831963154864) 
      category "Men's Golf" (id=831963016488) 
      feeds ArrayList (id=831963154888)  
     [5] GroupedFeed (id=831963155072) 
      category "Men's Cross Country" (id=831963036816) 
      feeds ArrayList (id=831963155096)  
     [6] GroupedFeed (id=831963155224) 
      category "Women's Cross Country" (id=831963041984) 
      feeds ArrayList (id=831963155248)  
     [7] GroupedFeed (id=831963155472) 
      category "Men's Bowling" (id=831963093056) 
      feeds ArrayList (id=831963155496)  
     [8] GroupedFeed (id=831963155712) 
      category "Women's Bowling" (id=831963098224) 
      feeds ArrayList (id=831963155736)  
     [9] GroupedFeed (id=831963155864) 
      category "Women's Basketball" (id=831963170720) 
      feeds ArrayList (id=831963155888)  
     [10] GroupedFeed (id=831963157504) 
      category "Men's Basketball" (id=831963299944)  
      feeds ArrayList (id=831963157528)  
     [11] null  
    modCount 11 
    size 11 
loader RSSLoader (id=831962575480)  
aMan AssetManager (id=831962469744) 
+0

먼저 호출 할 때 (일치하는 항목을 찾을 수 없습니다) gfList.size() != 0 또는

GroupedFeed findFeed(String locateSport){ if ((!gfList.isEmpty()){ for (int i = 0; i != gfList.size();i++){ if (gfList.get(i).category.equalsIgnoreCase(locateSport)){ return gfList.get(i); } } } return null; } 

!gfList.isEmpty()는 그런 널 (null)을 얻을 수있는 가능성을 처리 호출하는 의미 가정합니다. 서로 속한 것을 볼 수 없습니다. – Baklap4

답변

0

분명히 정수가 아니지만 gfList를 인스턴스화하는 위치는 포함하지 않습니다. 나는 당신이 당신의 스타일을 수정이 방법

+0

이 답변을 보내 주셔서 감사합니다! 나는 시도했지만 여전히 gfList에 대해 우리가 equals를 가지고 있고 다음 줄에 return 문에 대해 불평했다. 식의 형식은 배열 형식이어야하지만 List 으로 확인되었다. –

+0

죄송합니다. 배열 형식 인 access [i]와 .get (i)가 목록 용이었습니다. – Roger

+0

정말 고마워요. 내 배열에서 요소를 복사 한 다음 작업에 전달하는 방법에 대해 한 가지 더 질문이 있습니다. 그래서 요소 [0]을 가져 가면 해당 요소를 복사 한 다음 야구라면 야구에 전달해야합니까? 미리 감사드립니다! –

1

: 여기

// I created my for loop but that did not work 
     GroupedFeed findFeed(String locateSport){ 
      if ((int) gfList != 0){ 
       for(int i = 0; i != gfList.size();i++){ 
        if(gfList[i].category.equalsIngnoreCase(locateSport)){ 

        } 
       } 
       return gfResult; 
      } 
     } 

     public boolean onChildClick(ExpandableListView parent, 
       android.view.View v, int groupPosition, int childPosition, 
       long id) { 
      switch (groupPosition){ 
       case 0: 
        switch (childPosition){ 
         case 0: 
          // gfResult = findFeed("Men's Baseball"); 
          Baseball(); // pass gfResult 
          break; 
        } 
       return false; 
      } 

      private void Baseball() { 
       Intent myIntent = new Intent(MainActivity.this, Baseball.class); 
       startActivity(myIntent); 
      } 
     }); 
     Main myMain = new Main(); 
     try { 
      // AssetManager aMan = getAssets(); 
      this.gfList = myMain.loadRSS(); 
     } catch (Exception e) { 
      System.out.println("Hosed"); 
     } 
    } 
} 

내 배열 목록입니다 : 여기 내 코드입니다

if ((int) gfList != 0) { 
    for(int i = 0; i != gfList.size();i++) { 
    ... 
} 

gfList는 목록입니다 int로 캐스트 할 수 없습니다. 어쩌면 목록의 값은 int이지만 List 자체는 int가 아닙니다.

+0

값이 0이 아닌지 확인하려면 gfList.get (indexnumber)을 사용하십시오. http://docs.oracle.com/javase/6/docs/api/java/util/ List.html # get (int) – Baklap4

+0

나는이 문장으로 OP가 무엇을하려고하는지 명확하지 않다고 생각한다. 아마도 그는 List가 NULL이 아닌지 확인하려고 할 것입니다. 이 경우'if (gfList! = null)'을 사용해야합니다. –

+0

감사. 배열 목록에서 요소를 복사 한 다음 활동으로 전달하는 방법에 대해 도움을받을 수 있습니까? –

0

gfList는 컴파일러가 int으로 캐스팅하는 방법을 알 수없는 형식입니다. 그 체크가 gfList에 무엇인가 있는지를 확인한다고 가정하면, 당신은 다음과 같은 것을 시도 할 수있다. if를 없애라.리스트에 아무것도 없다면, 크기는 0이 될 것이고 나는 <의 크기가되지 않을 것이다. 목록) : 당신이 equalsIngnoreCase 대신 equalsIgnoreCase (추가 N)를 가지고, 경우

  for(int i = 0; i < gfList.size();i++){ 
       if(gfList[i].category.equalsIgnoreCase(locateSport)){ 

       } 
      } 
      return gfResult; 

도 오타가 있었다.

+0

감사합니다. 배열 목록에서 요소를 복사 한 다음 그것을 활동으로 전달하는 방법을 이해할 수 있습니까? –

0

내 생각 엔 if(gfList.size() != 0)을 확인 하셨을 것입니다. 루프 조건 (실제적으로는 i != gfList.size() 이라기보다는 i < gfList.size()을 쓰는 것이 일반적입니다.)이이를 처리 할 것이기 때문에 if 문은 실제로 필요하지 않습니다.

또는 gfList가 null이 아닌지 확인하려면 gfList != null이어야합니다. 0null은 "C"와는 달리 자바에서 매우 다른 두 가지입니다.

개체 복사에 대한 질문을 잘 모르겠습니다. java 오브젝트에는 .clone() 메소드가 있습니다. 그것은 당신이 찾고있는 것입니까?

+0

내 질문을 업데이 트하고 결국 그것은 내 배열 목록이야. 내가 물마루 배열을 검색하고 요소를 선택하면 [0]이 요소를 가져 와서 복사하고 올바른 위치로 전달한다고 말합니다. 따라서 우리가 Men 's Baseball을 가져 가면 Men 's Baseball에서 그걸 패스하고 싶습니다.하지만 그 요소를 어디에서 어떻게 통과해야하는지 모르겠습니다. 미리 감사드립니다. 나는이 도움을 바랍니다. –

관련 문제