2011-12-26 5 views
-1

모두 지우기 단추를 누르면 화면에서 목록보기 항목을 표시하려고합니다. 그래서 함수 m_adapter.clear()를 사용했습니다; 그것은 화면에서 항목을 비우는 것입니다. 하지만 퇴근 후에 다시 앱으로 돌아 왔을 때, 다시보기가 다시 나타납니다. 영구히 제거해야합니다. 아무도이 문제에서 나를 도울 수 있습니까?목록보기 항목을 영구히 삭제 하시겠습니까?

코드는 다음과 같습니다

case R.id.deleteAll:{ 
     m_adapter.clear(); 
      } 
+0

** ** 퇴근 후 앱에 다시 돌아올 때 ** 다시 앱을 다시 여는 것을 의미합니까? –

+0

그렇다면 기본 작업에서 onCreate()가 호출되어 모든보기를 다시 만듭니다. 그런 다음 모든 목록 항목을 가져옵니다. 당신이 분명히하는 것은 현재 실행중인 프로세스에만 적합합니다. 다시 열면 새로운 프로세스가 생성됩니다. 그것을 확인하십시오. –

+0

네, 맞습니다. 그렇다면이 문제를 피하려면 어떻게해야합니까? 나는이 프로그래밍에 익숙하지 않다.이 문제에서 나를 도우 라. – jyotiprakash

답변

0

목록보기를 영구히 제거하고 지우려면 adapter.clear()가 작동하지 않습니다.

이 메서드의 실제 의미는 목록보기 항목을 지우는 것이 아니라 목록보기를 지우는 것입니다.

실제로 수행해야 할 작업은 목록 뷰를 채우는 데 사용중인 배열에서 모든 요소를 ​​제거하는 것입니다.

그래서 이것은 활동으로 돌아와 빠져 나오더라도 목록보기에 데이터가로드되지 않도록하는 유일한 방법입니다.

활동을 입력 할 때마다 매번 clear()을 호출해야하므로 데이터가없는 것처럼 보입니다.

0

그런 다음, 당신의 목록보기 데이터의 소스를 취소 목록보기를 새로 고침해야합니다. 그렇게하면 활동을 다시 열면 더 이상 존재하지 않으므로 데이터가 다시 표시되지 않습니다.

예 : 목록 뷰가 데이터베이스에서 채워지면 데이터베이스에서 데이터를 삭제 한 다음 목록 뷰를 새로 고칩니다.

관련 문제