티스토리 뷰

Mobile/Android

[Android]Up Navigation 설정

out of coding 2014. 9. 1. 11:35

좀 쓸데 없어 보이지만, Action bar를 사용하면서, Up Navigation이 존재하게 되었다.


1. manifest에 parent로 지정

- 4.1 이상 : tag중에 android:parentActivityName을 적용하여 준다.

- 4.0 이하 : meta-data를 설정하여 준다.

<meta-data

android:name="android.support.PARENT_ACTIVITY"

android:value=" [ 설정할 Activity이름 ] " />


2. actionbar설정을 변경

- getSupportActionBar().setDisplayHomeAsUpEnabled(true);


3. Navigate up 하기.

- 편안할걸 만들어줬으니 사용을 해야겠다. 기존에는 finish()를 사용하였으나, 이거 완전 좋은것 같다.

- 호출될때는 현재 Activity는 종료가 되면서, stack의 상단에 있는 녀석이 호출된다. Flag는 FLAG_ACTIVITY_CLEAR_TOP이 호출됨

- 사용법

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:

NavUtils.navigateUpFromSameTask(this);

return true;

}


return super.onOptionsItemSelected(item);

}


4. task의 owner가 다른앱일 경우에는 NavUtils.navigateUpFromSameTask()는 사용불가하다.

- 다른 App stack위에 있다면 task를 new task로 띄워야 한다.

- 즉, 특정 Activity가 intent-filter가 걸려있다면 다른 task위에 뜰 확률이 있다는것이다.

- 이 경우에는 NavUtils.shouldUpRecreateTask()를 불러서 현재 activity가 원래 앱의 task 위에 있는지 확인하여서, 처리를 하여 주어야 한다.

- true가 다른 task위에 있다는 의미

- 주의 : TaskStackBuilder를 사용하려면, manifest의 activity에 parent가 제대로 지정되어 있어야 한다.

- 사용법

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:

Intent upIntent = NavUtils.getParentActivityIntent(this);

if (NavUtils.shouldUpRecreateTask(this, upIntent)) {

TaskStackBuilder.create(this)

.addNextIntentWithParentStack(upIntent)

.startActivities();

} else {

NavUtils.navigateUpTo(this, upIntent);

}


return true;

}


return super.onOptionsItemSelected(item);

}


'Mobile > Android' 카테고리의 다른 글

[Android]ListView,ScrollView 스크롤 끝에 효과 없애기  (2) 2014.09.04
[Android]치수변환  (0) 2014.09.02
[Android]Google Play Billing v3  (0) 2014.08.20
[Android]Overlay ActionBar  (0) 2014.08.19
[Android]Volley  (0) 2014.08.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함