이것은 제가 지금 겨루고있는 이상한 오류입니다.이미 조각이 SwipeRefreshLayout으로 추가되었습니다.
일단 초기화가 완료되면 검색 조각을 표시하는 활동이 있습니다. 검색 단편은 결과를 표시하는 listview를 포함하며 사용자가 검색 결과를 새로 고칠 수 있도록 목록보기가 SwipeRefreshLayout 내에 있습니다.
사용자가 목록에서 항목을 선택하면 검색 조각이 제거되고 상위 활동이 표시됩니다 (다른 조각이 있음). 사용자는 원하는 경우 검색 조각을 열고 결과를 새로 고칠 수 있습니다.
내가 가진 동작은 조각을 처음 열 때 새로 고침을 사용하면 예상대로 작동한다는 것입니다. 그러나 검색 단편을 닫은 다음 다시 열어 새로 고침을 위해 아래로 스 와이프하면 검색 단편에 대해 java.lang.IllegalStateException: Fragment already added
예외가 발생합니다.
검색이 처음 단편화 소개하는 코드는 다음과 같습니다
case MotionEvent.ACTION_UP:
if (swipeInRange) {
/* do some other stuff */
getFragmentManager().beginTransaction().setCustomAnimations(R.animator.slide_in_left, 0, 0, R.animator.slide_out_left).add(R.id.main_vwContent, mWoSearchFragment).commit();
}
break;
가 슬로우 오류가 없습니다 : 코드가 화면에 슬쩍 작업을 통해 도입
@Override
protected void onPostExecute(Void empty) {
dismissSearchProgress();
getFragmentManager().beginTransaction().
setCustomAnimations(R.animator.slide_in_left, 0, 0, R.animator.slide_out_left).
add(R.id.main_vwContent, mWoSearchFragment).commit();
}
두 번째 시간 두 번째 인스턴스에서 아래로 스 와이프하여 새로 고침하지 않는 한 onRefresh 이벤트가 발생하기 전에 오류가 발생합니다.
누구든지 아이디어가 있습니까? 어떤 코드가 스택 추적에서 내 코드를 가지고 있지 않고 디버거가 아무 것도 잡아 내지 못하기 때문에 검색 조각을 다시 추가하려고 시도하는 코드가 무엇인지 확실하지 않습니다.