안드로이드 장치의 뒤로/돌아 가기 버튼을 사용하여 응용 프로그램의 이전 레이아웃으로 전환 할 수 있지만 특정 레이아웃에만 사용하고 싶습니다. 다른 모든 경우에는 정상 닫기 응용 기능 버튼을 사용해야합니다. 이렇게하면 화면에 공간을 절약하여 "이 전에 화면으로 돌아 가기"버튼을 사용할 수 있습니다.선택형 뒤로 버튼으로 여러 레이아웃을 사용하는 가장 좋은 방법은 무엇입니까?
은 지금까지 나는이 간단한 해결책을했다 :
int screenid=0;
public void ButtonClickN(View v)
{
setContentView(R.layout.ScreenX);
screenid=3;
}
public void onBackPressed()
{
if(screenid==2) // screen z
{
setContentView(R.layout.ScreenY);
screenid=1;
return;
}
if(screenid==3) // screen x
{
setContentView(R.layout.ScreenZ);
screenid=2;
return;
}
finish(); // all other cases button works as normal
}
그러나 나는 그것을 더 간단하게하는 붙박이 뭔가가있을 수 있습니다으로이,이 작업을 수행하는 가장 좋은 방법은 아니라고 생각합니다. 말하자면, 이름을 기준으로 레이아웃을 비교하여 정수를 제거하거나 레이아웃을 왼쪽에서 오른쪽으로 슬라이드 ...
또 다른 방법은 인 텐트를 사용하여 다른 작업에서 새 화면을 만드는 것입니다. 그것은 이전 개 이상의 새로운 레이아웃립니다
public void ButtonClickN(View v)
{
Intent i3 = new Intent(view.getContext(), ActivityX.class);
startActivityForResult(i3, 0);
}
이것은 이전과 안드로이드 뒤로 버튼 작동 할 수있게,하지만에서 onCreate 호출
public class ActivityX extends Activity
모든 화면에 대한 새로운 클래스를 만들 필요 :
을setContentView(R.layout.ScreenX);
및 추가 선언이 필요합니다.
<activity android:name=".ActivityX"></activity>
첫 번째 해결 방법과 비교하여 너무 많은 번거 로움이 있습니다. 그것은 또한 에뮬레이터에서 중첩 효과를 발생 시키므로 피하고자합니다. 지금까지 효과는 내 삼성 Galaxy Y (GT-S5360)에는 나타나지 않지만 다른 장치에서 어떤 효과가 있을지 누가 알 수 있습니다.
내 질문에, 안드로이드 뒤로 버튼을 선택적으로 사용하는 더 좋고/더 쉬운 방법이 있습니까? 또는 전체 화면 레이아웃을보다 효율적으로 전환 할 수 있습니까?