Title Bar에 Home 버튼과 Back 버튼을 눌러서 기능을 구현하였습니다.
private boolean setTitleBar(){
ImageView btn_go_home = (ImageView) findViewById(R.id.btn_go_home);
btn_go_home.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(o00_OverView.this, "Go Home", Toast.LENGTH_LONG).show();
Intent intentHome = new Intent(o00_OverView.this, m00_SmartGuide.class);
intentHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentHome.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentHome);
finish();
}
});
ImageView btn_go_back = (ImageView) findViewById(R.id.btn_go_back);
btn_go_back.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(o00_OverView.this, "Go Back", Toast.LENGTH_LONG).show();
finish();
}
});
return true;
}
위와 같이 기능을 구현하였는데요.
Test를 하다보니 제가 원하는 동작을 하지 않더라고요.
예를 들어서, A Activity -> B Activity로 이동시 Animation을 주었을 경우, B Activity에서 제가 만든 Back Button을 눌러 A Activity이동 하였을 경우와 System back button을 눌러 이동을 하였을 경우를 비교하였을 때 다음 동작에서 달리 동작을 합니다.
A Activity ->(Animation 정상 동작) -> B Activity (Custom Back Button) -> A Activity ->(Animation 동작 안함)->B Activity
A Activity ->(Animation 정상 동작)-> B Activity (Custom Back Button) -> A Activity ->(Animation 정상 동작)-> B Activity
아무래도 Back이나 Home 이동시 Activity Manager에게 관련된 정보를 없애는 무언가가 있는 것 같은데, 모르겠습니다.
혹시 아시면 좀 알려주세요~