2014-09-12 5 views
1

네 개의 항목이있는 네비게이션 드로어가 있습니다. 각 항목은 클릭 할 때 4 개의 다른 단편을로드합니다. 모든 조각에는 AsyncTask를 사용하여 웹에서 가져온 데이터를 표시하는 listview가 있습니다. 내 문제는 이것입니다 : 제가 두 번째 항목을 클릭하고 조각이 잘로드 말한다. 그러나 같은 항목을 다시 클릭하면 조각이 다시로드됩니다. 현재 선택된 조각이 다시로드되는 것을 막을 수있는 방법이 있습니까? 현재 선택된 항목을 클릭하지 못하게 할 수있는 방법이있을 수 있습니다. 더 좋은 방법이 있어야합니다. 감사.현재 선택한 조각이 탐색 드로어에서 다시로드되지 않게하는 방법

+0

현재 보이는 조각과 서랍 항목 위치를 확인하십시오 클릭 한 번으로 또는 현재 위치를 포함하는 플래그를 사용하고 목록 항목에 매번 클릭합니다. 일치하는 값 if (! current_position == position_justclicked) {// 여기에 조각을로드하십시오} – MOSO

답변

4

FragmentFrameLayout 또는 다른 종류의 용기에 넣으십시오. 트랜잭션을 시작하고 컨테이너의 조각을 교체하기 전에 추가하려는 조각이 이미 다음 코드를 통해 존재하는지 확인할 수 있습니다.

private void openFragment(Fragment newFragment){ 
    Fragment containerFragment = getFragmentManager().findFragmentById(R.id.container); 
    if (containerFragment.getClass().getName().equalsIgnoreCase(newFragment.getClass().getName())) 
     return; 
    else 
     // Start transaction and replace fragment 
} 
관련 문제