2012-01-16 39 views
20

Cách xử lý nút "Lên" (SDK phiên bản 11+)? Tôi đang đề cập đến một ở trên cùng của màn hình, giữ biểu tượng ứng dụng.Cách xử lý nút "Lên"?

Trong các bài viết về Thiết kế Android, nó được đặt tên là "Nút lên", nhưng tôi không tìm thấy nó (hoặc tương tự) trong các trường KeyEvent.

Trả lời

54

Thực hiện onOptionsItemSelected() và xem cho android.R.id.home "menu" các sự kiện, như được mô tả trong the documentation.

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      // do something useful 
      return(true); 
    } 

    return(super.onOptionsItemSelected(item)); 
} 
+1

Xin chào, tôi có cùng một vấn đề. Nhưng bạn có biết cách lấy mũi tên nhỏ không? Tôi mở một Hoạt động mới bằng thanh tác vụ và tôi muốn sử dụng "nút lên" này để quay lại màn hình chính. Đối với SearchView, nó chuyển đổi tự động thành nút có mũi tên nhỏ, nhưng làm thế nào? – Informatic0re

+4

@Mirko: Nếu bạn đang đề cập đến những gì tôi nghĩ rằng bạn đang đề cập đến, hãy thử 'setHomeAsUpEnabled (true)', được gọi là 'ActionBar' của bạn. – CommonsWare

+0

thx lớn! đó là những gì tôi đang tìm kiếm. – Informatic0re

0

Đầu tiên thay đổi tập tin AndroidManifest.xml của bạn để có một hoạt động cha mẹ tuyên bố. Ví dụ:

<activity android:name=".theory" 
       android:parentActivityName=".MainActivity" 
     android:label="@string/theory" 
     /> 
    <activity android:name=".experimental" 
       android:parentActivityName=".MainActivity" 
     android:label="@string/exp" 
     /> 

Làm điều này cho tất cả các hoạt động khác ngoài MainActivity. Lưu ý parentActivityName xml đang

Sau đó đi đến các tập tin java tương ứng và thêm đoạn mã sau

ActionBar ab = getSupportActionBar(); 
    ab.setDisplayHomeAsUpEnabled(true); 

Bạn có bạn lên nút kích hoạt ngay bây giờ.

Các vấn đề liên quan