2012-08-15 39 views

Trả lời

11

ListActivity mở rộng chức năng của phổ biến android.app.Activity bằng cách cung cấp một số tính năng tập trung vào danh sách 'miễn phí' nếu bạn muốn. Ví dụ, việc xử lý một lần nhấp vào danh sách được chứa gọn gàng trong số onListItemClick(...) của ListActivity trong khi nếu bạn đang sử dụng một số android.app.Activity đơn giản thì bạn sẽ cần thực hiện thủ công việc này bằng cách thực hiện OnClickListener và thực hiện thủ công.

Bởi tất cả tài khoản, nếu bố cục của bạn chứa danh sách thì hãy sử dụng ListActivity/ListFragment vì đây là tiện ích mở rộng hữu ích. Nó không có nghĩa là toàn bộ bố cục màn hình của bạn phải là danh sách nhưng một phần của nó phải lưu trữ một tiện ích ListView với số nhận dạng, id="@android:id/list".

Javadoc trên lớp học với các ví dụ hữu ích về cách sử dụng nó có thể được tìm thấy here.

+0

OOoh. Nhiều câu trả lời tất cả đều nói cùng một điều! Đưa nó cho kẻ yếu! :) – OceanLife

+0

Ok, theo hiệu suất tốt hơn để sử dụng ListActivity? – BamsBamx

+0

Về cơ bản chúng giống nhau nhưng ListActivity có một số phương thức trợ giúp hữu ích mà có lẽ đã được thực hiện hiệu quả và tốt bởi nhóm Android do đó đang thực hiện tốt nhất khả năng của chúng. Các mặt hàng xa hơn thích hợp với hiệu suất và danh sách là quản lý con trỏ của bạn và không làm những điều ngớ ngẩn như lấy tất cả các mục trong một danh sách chỉ để sử dụng 10 đầu tiên vv – OceanLife

3

ListActivities được thiết kế đặc biệt để sử dụng với ListViews. Nó cung cấp một số phương thức trợ giúp như onListItemClick(), giúp dễ dàng sử dụng một ListView trong chúng.

Bạn có thể làm bất cứ điều gì bạn có thể làm trong một Hoạt động trong ListActivity.

Nếu bạn muốn thay đổi bố cục của một ListActivity bạn vẫn có thể với phương thức setContentView() từ Hoạt động. Miễn là có một ListView được gọi là @android: id/list ở đâu đó trong View ListActivity của bạn sẽ vẫn hoạt động.

Nếu bạn vẫn không chắc chắn, bạn luôn có thể xem mã nguồn cho ListActivity (mã Jelly Bean liên kết đến) và thấy rằng nó không làm được gì nhiều hơn là làm cho cuộc sống của bạn dễ dàng hơn một chút.

2

Mở rộng từ ListActivity bạn đồng ý với hợp đồng trong bố cục hoạt động của bạn thành phần ListView sẽ khả dụng.

phần ListView của bạn nên có id: @android:id/list

Lớp ListView cung cấp phương pháp thuận tiện để làm việc và thao tác các ListView

0

Ngoài ra, trong một thường xuyên Activity bạn có thể sử dụng mã dưới đây vào onCreate để ẩn thanh tiêu đề ứng dụng. Có vẻ như bạn không thể làm tương tự trong một ListActivity. (đã học được điều này một cách khó khăn)

requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.activity_list); 
// The rest of the content of onCreate 
Các vấn đề liên quan