Khi sử dụng Toolbar
mới với thư viện hỗ trợ appcompat, có vẻ như nút Home không hoạt động như trước đây trừ khi bạn đặt menu tùy chọn hợp lệ. Một hoạt động tiêu chuẩn đơn giản và bog:Nút home trên thanh công cụ không hoạt động nếu không có menu tùy chọn
public class MyActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.some_page);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar bar = getSupportActionBar();
bar.setHomeButtonEnabled(true);
bar.setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// getMenuInflater().inflate(R.menu.some_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed() or finish() or whatever();
break;
}
return super.onOptionsItemSelected(item);
}
}
Nếu có một đơn đặt trong onCreateOptionsMenu()
, onOptionsItemSelected()
sẽ được gọi là tất cả đúng với android.R.id.home
và tất cả là tốt. Tuy nhiên, nếu không có onCreateOptionsMenu()
ở tất cả (hoặc trống, hoặc trả lại true
hoặc gọi chức năng super
), onOptionsItemSelected()
sẽ không được gọi, do đó không có cơ hội nhận được nhấp chuột vào nút Trang chủ. Tôi thậm chí đã cố gắng để vượt qua một menu trống để onCreateOptionsMenu()
nhưng nó đã không giúp đỡ.
Có cách giải quyết nào cho phép chúng tôi có nút Home hoạt động trên các trang không cần menu tùy chọn chức năng không?
Tôi thấy điều này bây giờ, nó trượt chú ý của tôi lúc đầu bởi vì tôi là * không * trên JB nhưng KK: http://stackoverflow.com/questions/26859841/homeasup-button-has-no-effect-in-android-4-2-2-with-appcompat-21-0-0?rq=1 –