2013-02-14 5 views
2

BaseActivityActivity으로 확장되고 다른 모든 활동은이 BaseActivity까지 확장됩니다.목록보기에서 목록을 비활성화 한 후 안드로이드를 다시 쓸 수 있습니다.

private void DisableChildClickEvents(ViewGroup viewGroup, boolean enabled) { 
    for (int i = 0; i < viewGroup.getChildCount(); i++) { 
     View childView = viewGroup.getChildAt(i); 
     childView.setClickable(enabled); 
     childView.setEnabled(enabled); 
     if (childView instanceof ViewGroup) { 
      DisableChildClickEvents((ViewGroup)childView, enabled); 
     } 
    } 
} 

내가 가진 문제 :

내가 뭘하는 내 응용 프로그램의 상태에, 나는 다음과 같은 코드를 사용하여 다시 다음을 활성화 BaseActivity에서 화면에 표시되는 모든 항목을 비활성화 할 이 코드가 해당 활동을 비활성화하고 해당 활동의 모든 항목을 클릭하는 활동 중 하나에 ListView이 있지만 다시 클릭 할 수는 없습니다. 어떤 ListItem을 클릭하면 클릭 할 수 있고 색상이 바뀌는 것으로 나타 났지만 사용 중지 된 작업은 사용 중지 한 후 도달 할 수 없습니다.

+0

확실하지, 당신은 다시 OnClickListener를 설정하려고 했습니까? 자동으로 클릭 가능을 사용 불가능하게 설정하면 등록이 취소 될 수도 있습니다. –

+0

@StefandeBruijn ListView에 대해 setOnItemClickListener를 이미 설정하고 있는데, 왜 다시 설정해야합니까? – Seem

답변

1

이 시도 :

if (childView instanceof ListView) { 
       if (enabled == true) { 
        ListView list = (ListView) childView; 
        list.getOnItemClickListener(); 
       }