[안드로이드] Toolbar 뒤로가기 버튼 만들기
프로그래밍/Android 관련2018. 1. 29. 20:48
안녕하세요. 개발자 드리머즈입니다.
안드로이드에서 툴바를 만들면 기본적으로는 위 사진처럼 뒤로가기 버튼이 없습니다. 뒤로가기 버튼을 생기게 하기 위해서는 아래 4번째 줄의 코드를 추가하면 됩니다.
1 2 3 4 | Toolbar mToolbar = (Toolbar) findViewById(R.id.main_toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 뒤로가기 버튼, 디폴트로 true만 해도 백버튼이 생김 | cs |
그러면 위 사진처럼뒤로가기 버튼이 생깁니다. 하지만 아무리 눌러도 동작을 하지 않습니다. 동작을 위해서는 아래의 굵게 표시한 코드를 추가하면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_main); Toolbar mToolbar = (Toolbar) findViewById(R.id.main_toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 뒤로가기 버튼, 디폴트로 true만 해도 백버튼이 생김 } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case android.R.id.home:{ //toolbar의 back키 눌렀을 때 동작 finish(); return true; } } return super.onOptionsItemSelected(item); } } | cs |
주의할 점은 뒤로가기 버튼이 눌러졌을 때 동작을 설정하는데 android.R.id.home 으로 뒤로가기 버튼이 눌러졌음을 판단한다는 것입니다. backkey가 아니라 home입니다.
댓글 영역