나는 비슷한 주제가 수천 번 발생했음을 알고있다. 그러나 나는 그 중 일부를 탔다.유니버설 홈 버튼 방법
나는 다른 활동을하고 있는데, B, C, D라고 말할 수 있습니다. B, C, D에서 goHome() 메소드로이 버튼을 얻었습니다.
이 방법을 한 번 작성한 다음 B, C, D 활동에 사용하고 싶습니다. 나는 각각의 액티비티 클래스에 대해 메쏘드를 다시 만들고 싶지 않다. 어떻게해야합니까?
나는 비슷한 주제가 수천 번 발생했음을 알고있다. 그러나 나는 그 중 일부를 탔다.유니버설 홈 버튼 방법
나는 다른 활동을하고 있는데, B, C, D라고 말할 수 있습니다. B, C, D에서 goHome() 메소드로이 버튼을 얻었습니다.
이 방법을 한 번 작성한 다음 B, C, D 활동에 사용하고 싶습니다. 나는 각각의 액티비티 클래스에 대해 메쏘드를 다시 만들고 싶지 않다. 어떻게해야합니까?
하위 활동 (여기서 B, C, D)은 onActivityResult()
을 처리하는 클래스를 확장합니까? 의도를 시작할 때 startActivityForResult()
을 사용하고 요청 및 응답 코드를 전달하십시오.
코드를 onActivityResult()
으로 수신하면 간단하게 finish()
이됩니다. 이렇게하면 자동으로 모든 하위 활동의 사용자가 다시 활동 A로 이동합니다.
정적 메서드 만 포함하는 클래스를 만들 수 있습니다. B, C, D에서 뒤로 버튼을 누르거나 새 활동을 시작하면 A, B, C, D로 돌아갈 지 말하지 않았습니다. 그러나이 정적 메서드를 onBackPressed 메서드 나 "goHome()"메서드에 넣으십시오.
class StaticCode{
static void goHome(){
// the things generally done in B.goHome(), C.goHome(), D.goHome();
}
}
나서 B에 고르게, C, D를 호출 :
class B extends Activity{
...
public void goHome(){
StaticCode.goHome();
}
}
참고, 예를 들어 필요에 따라 고정 방법에 컨텍스트 파라미터를 전달.
@Xylian 객체 지향 디자인은 이러한 많은 문제에 대한 솔루션을 용이하게합니다. 객체 지향 기술을 연구하면 좋습니다. 당신은 고독한 늑대 또는 팀원입니다. – styler1972