Tôi muốn tránh hoạt động của phụ huynh bị hủy bất cứ khi nào tôi nhấp vào nút < trong thanh tác vụ.
Hoạt động gốc của bạn sẽ bị tạm dừng khi bạn nhấn nút đó, thay vì bị hủy.
có cách nào để tôi ghi đè không? và có cách nào để ghi đè mọi hoạt động không?
Chỉ cần gọi:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
Bạn cần phải gọi nó để hoạt động mà bạn muốn ghi đè lên các nút. Không có lựa chọn nào khác để gọi nó 'một lần cho tất cả'.
phương thức nào đang được gọi từ AppCompatActivity khi chúng tôi nhấn nút đó?
Theo mặc định, không có phương pháp nào trong đó. Nếu bạn sử dụng Toolbar
, hãy gọi setNavigationOnClickListener()
để làm điều gì đó khi nhấn nút đó.
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something here, such as start an Intent to the parent activity.
}
});
Nếu bạn sử dụng ActionBar
, nút đó sẽ có mặt trên Menu
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// do something here, such as start an Intent to the parent activity.
}
return super.onOptionsItemSelected(item);
}
Nguồn
2015-06-06 07:26:30
Nếu bạn đặt trình nghe nhấp chuột trên thanh công cụ, nó sẽ không còn quay lại phụ huynh trừ khi bạn gọi điều gì đó tương đương đã đồng ý với 'NavUtils.navigateUpFromSameTask' trong trình nghe. –