문제

Android에서 활동을 시작하는 다음 두 가지 예를 보았습니다.

예 1

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);

예 2

// Calling activity
NextActivity.show(this)

// In the called activity
static void show(Context context) {
        final Intent intent = new Intent(context, NextActivity.class);
        context.startActivity(intent);
}

두 가지 예 사이의 명백한 차이점은 활동의 구현을 위해 활동이 어떻게 생성되는지에 대한 논리를 첨부한다는 것입니다. 다른 주요 차이점이 있습니까? (예 : 호출 활동은 한 경우에 호출 활동이 끝날 때까지 기다리라고 지시되었지만 다른 경우에는 그렇지 않습니다.)

도움이 되었습니까?

해결책

첫 번째 방법의 2 줄의 코드 라인 이외의 두 가지 방법에 차이가 없습니다. 두 번째 활동의 클래스에 위치한 정적 메소드에 위치합니다.

활동을 시작하기 위해 실행되는 실제 코드 라인은 동일합니다. 따라서 두 가지 방법의 동작은 동일합니다.

다른 팁

또한 코드가 단축 될 수 있습니다

context.startActivity(new Intent (context, NextActivity.class));

필드로 의도 인스턴스를 만들어야하는 유일한 이유는 깃발을 설정하거나 엑스트라를 추가 해야하는 경우입니다.

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