으로 다시 시작하기 때문에 활동에 대한 뒤로 버튼을 설정했습니다. 메뉴 화면으로 돌아갑니다. 뒤로 버튼을 눌러 원래 활동으로 되돌리려합니다. 그러나 이미 가지고있는 코드는 이미 만들어진 인스턴스로 돌아가는 대신 메뉴 항목을 누르면 새로운 인스턴스가 열립니다. 전화의 실제 뒤로 버튼 (OnDestroy를 호출하는 버튼)을 누르면 동일한 모든 활동의 여러 인스턴스가 닫힙니다. 저장 한 변수를 가진 원래의 생성 된 변수가 여전히 존재한다는 것을 확인할 때도 볼 수 있습니다. 코드를 보여 드리죠.이미 생성 된 활동으로 돌아가거나
public boolean onOptionsItemSelected(MenuItem item){
Intent myIntent = new Intent(getApplicationContext(), Tools.class);
startActivityForResult(myIntent, 0);
return true;
이것은 원래 활동의 작업 표시 줄 뒤로 가기 버튼 코드입니다. 도구 클래스로 돌아갑니다. 도구 클래스는 내가 만드는 EMS 앱의 도구에 연결하는 단추가있는 활동입니다. 아이디어는 원래 활동에 시간을 기록하고, 다시 돌아가서 전화 정보로 이동하여 시간이 명시되고 전역 변수에서 저장되는 것이 었습니다. 다시 도구로 돌아가서 내 바이탈 로거를 다시 클릭하면 왼쪽으로 돌아갈 것입니다. 아니. 그냥 버튼과 떨어져 수행 할 수 있습니다, 그냥 반격에 새로운 인스턴스를 열 수
vitals = (Button) findViewById(R.id.vitals);
vitals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try{
Class goVitals = Class.forName("com.vexos.emspal.Vitals");
Intent goIntent = new Intent(Tools.this, goVitals);
startActivity(goIntent);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
finish();
}
는 지금은 도구 화면을 파괴하기 위해이 버튼을 사용하여 마무리를 호출합니다. 여기서 어딘가에, 나는 "com.vexos.emspal.Vitals"의 이전에 생성 된 인스턴스로 돌아 가기 위해 if 문과 같은 것을 가지고 있어야합니다. 그러나 다시 클릭하면 새 인스턴스가 만들어지며, 다른 인스턴스는 백그라운드에서 멈추어 서 다시 액세스합니다. 이 onClick 메서드가 이미 실행중인 인스턴스가 있는지 확인한 다음 onResume을 확인하려면 어떻게해야합니까?
는 당신이 더 문제를 설명하고 간단한 방법으로 주시겠습니까? 문제가 정확히 무엇입니까? – mobilepotato7
Ok이 onClick 메서드는 새로운 활동을 엽니 다. 해당 액티비티에는 onClick 메서드가있는 곳으로 돌아가는 뒤로 버튼이 있습니다. onClick 메서드를 클릭하면 처음에 연 작업으로 돌아가서 해당 작업의 새 인스턴스를 만들지 않아야합니다. – jham
안드로이드처럼 나에게 들리는 소리가 정확히 무엇을해야만하는지 잘 알고 있습니다. 이전 활동의 데이터가 필요한 경우 공유 환경 설정에 데이터를 쓰고 활동 시작시로드 (사용 가능한 경우)하면 원래 활동이 환상적입니다. 또한 활동 라이프 사이클을 읽을 수도 있습니다. – LokiSinclair