2014-09-09 7 views
0

안녕하세요 누구든지 내게 왜이 코드가 내게 오류가 발생하고 내 응용 프로그램이 다운되는지 말해 줄 수 있습니까? 이것은 '재설정 ((보기) 하위); 내가 온 클릭으로 버튼을 클릭하면 마지막 에 추가됩니다 내가하고 싶은 것입니다 : 리셋, 그것은 어린이의 더 많은 종류를 가지고있는 LinearLayout 내부에서만 이미지 textviews에 리셋의 종류를 적용Android 코드가 작동하지 않음/2 질문

public void reset(View v) { 

    LinearLayout items = (LinearLayout) findViewById(R.id.itemsToSearch); 

    for (int i = 0; i < items.getChildCount(); i++) 
    { 
     Object child = items.getChildAt(i); 

     Context context = getApplicationContext(); 
     CharSequence text = child.toString(); 
     int duration = Toast.LENGTH_SHORT; 
     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 

     if (child instanceof ImageView) 
     { 
      ((ImageView) child).setVisibility(View.INVISIBLE); 

     } 
     else if (child instanceof TextView) 
     { 
      ((TextView) child).setTextColor(Color.parseColor("#98868A")); 
     } 
     else if(child instanceof ViewGroup) 
     { 
      reset((View) child); 
     } 
    } 
} 

그리고 다른 질문은 내 애플 리케이션 FragmentPagerAdapter와 함께 작동하는 것입니다, 예를 들어 내가 Frag # 1에서 Button을 클릭하면 Frag # 3 안의 텍스트가 현재 표시되지 않습니까? 예를 들어 어떻게 할 수 있습니까? 나를 위해 항상 충돌, As 나는 Frag # 3이나 화면에서 벗어난 다른 조각이 아직 화면에로드되지 않았기 때문에 그 ID 번호가 누락되어 표시되는 것입니다.

고맙습니다

답변

0

재설정 방법이 잘못되었습니다. 메서드에 인수로 전달 된 뷰를 사용하지 않으면 항상 동일한 LinearLayout을 검색합니다. 코드는 다음과 같아야합니다

public void reset(ViewGroup viewGroup) { 
    final int childCount = viewGroup.getChildCount(); 
    for (int i = 0; i < childCount; i++) { 
     View child = viewGroup.getChildAt(i); 
     if (child instanceof ImageView) { 
      ((ImageView) child).setVisibility(View.INVISIBLE); 
     } else if (child instanceof TextView) { 
      ((TextView) child).setTextColor(Color.parseColor("#98868A")); 
     } else if(child instanceof ViewGroup) { 
      // recursive call 
      reset((ViewGroup) child); 
     } 
    } 
} 

다른 문제에 관해서는, 단지 현재의 단편 실제로로드 상태 경우에 (기본적으로 하나되는 오프 스크린 페이지 한도 내에서) 양쪽에 사람 당신은 그들의 견해를 조작 할 수 있습니다. 어딘가에 일부 데이터를 저장하고 원하는 페이지 (예제에서 Fragment # 3)가 인스턴스화되고 데이터를로드하기 시작할 때 해당 데이터를 다시 참조해야합니다.

+0

고마워요, 제가 몇 가지 창고를했고 작동합니다. 정말 고마워요 !! :) – Programmer