문제

나는 2 개의 활동 a-> b가있다.A는 부모 활동이고 B는 "설정"과 같습니다.b에서 사용자는 앱 데이터베이스를 업데이트하는 몇 가지 선택을합니다.A는 데이터베이스를 읽어서 일부 텍스트 뷰를 설정해야합니다.

제가 작동하는 일은 다음과 같습니다. b에서 사용자는 선택한 선택 (일부 토글 버튼을 사용하여)과 ondestroy 함수를 사용하여 단추의 상태가 읽혀지고 DB는 업데이트됩니다 ( "변경 사항 제출 버튼을 제출하지 않음"그래서 ondestroy를 사용합니다).그런 다음 A의 onresume 함수에서 DB를 읽고 필드를 업데이트하는 루틴을 호출합니다.

문제는 변경 사항이 A에서 보이지 않는다는 것입니다. 그러나 새 변경없이 다시 B로 돌아가면 변경 사항이 표시되고 정확합니다.

그래서 무엇이 잘못 되었나요?나는 A와 B 사이의 더미 활동을 사용할 수 있고 이것이 일할 수 있지만, 이것이 좋은 구현인지 알지 못합니다. 미리 감사드립니다!

도움이 되었습니까?

해결책

onDestroy() 메소드 대신 onPause() 또는 onStop() 메소드를 시도합니다.이것을보세요 :

여기에 이미지 설명

다른 팁

제출 단추를 구현하지 않으려면 onPause() 대신 onDestroy()에서 데이터베이스를 업데이트하는 것이 좋습니다.

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top