안드로이드 프로그래밍을 접하면서 어려운 점 중의 하나가, 잘못된 정보들이 생각외로 많다는 것이다. 아마도 API버전이 올라가면서 예전에는 되었던 것이 폐기되거나 더 나은 방식이 제공되거나 했기 때문이라 생각된다.
뒤로가기 버튼 혹은 백버튼 보이기
두가지 방식이 있다. 설정하는 방식과 동적으로 프로그래밍하는 것이다.
설정방식 : AndroidManifest.xml
<activity
android:name=".VocaNoteNewActivity"
android:label="new Voca note"
android:parentActivityName=".MainActivity">
android:name=".VocaNoteNewActivity"
android:label="new Voca note"
android:parentActivityName=".MainActivity">
</activity>
android:parentActivityName" 속성에 짝지워진 부모 Activity를 설정하면 자동으로 뒤로가기 버튼이 보여진다.
동적방식 : 프로그래밍에 의한 제어
protected void onCreate(Bundle savedInstanceState) {
...
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
...
}
주의할 점은, "getActionBar" 대신에 "getSupportActionBar"를 사용하라는 구글의 권고를 따르는 것인데, 라이브러리 호환성과 관련있는 듯 한데, 굳이 함수를 따로이 했는지 알쏭달쏭하다.
뒤로가기 버튼 가리기
겸사겸사 설정방식과 동적방식중 누가 우선권일까?
- AndroidManifect.xml 파일에 부모 activity를 설정하고
- 해당 activity#onCreate함수에서 액션바의 setDisplayHomeAsUpEnabled(false)
결과는 동적방식에 우선권이 있어, 되돌아가기 버튼은 보이지 않게 되었다.
'Trouble Shooting' 카테고리의 다른 글
자바스크립트(ES6)에서 var, let의 차이 그리고 클래스 상수멤버 선언 (0) | 2018.03.06 |
---|---|
Proxy 설정 (apt, wget) (0) | 2018.01.10 |
안드로이드 EditText 항목 쓰기방지(read-only)로 만들기 (0) | 2017.09.27 |
[GIT 정리] 이미 commit/push된 파일을 .gitignore에 등록하기 (0) | 2017.08.30 |
[GIT 정리] 여러 조회 방법 및 충돌 파일 간단 처리 (0) | 2017.08.26 |