2010-01-09 39 views
29

Tôi đã học cách phát triển trong Android và có nhiều câu hỏi chung hơn: Nếu tôi có bố cục sử dụng danh sách và một số chế độ xem khác, tôi có nên sử dụng Hoạt động hoặc ListActivity cho lớp hoạt động của mình không?Android - Hoạt động so với ListActivity - Lớp hoạt động của tôi nên mở rộng ở đâu?

Tôi biết rằng ListActivity có thể sẽ giúp mọi thứ dễ dàng hơn để ghi đè các sự kiện theo danh sách cụ thể, nhưng có lợi thế nào khác khi sử dụng ListActivity over Activity không? Điều gì sẽ xảy ra nếu tôi muốn thay đổi bố cục trong tương lai thành GridView? Nó sẽ có thêm/bớt đau để thay đổi mã của lớp?

Tôi chỉ tò mò về "thực hành tốt nhất" trong lĩnh vực này và những lợi ích đòi hỏi, vì vậy bất kỳ câu trả lời sẽ là hữu ích :)

Bara

Trả lời

43

Tôi muốn sử dụng ListActivity vì nó cung cấp cho bạn rất nhiều phương pháp tắt để giúp mọi thứ trở nên dễ dàng hơn và giữ cho mã của bạn dễ đọc hơn.

Ví dụ: bạn nhận được onListItemClick() method được gọi bất cứ khi nào bạn nhấp vào một mục giúp bạn không tạo được người nghe riêng biệt.

Nếu bạn muốn thay đổi bố cục của ListActivity bạn vẫn có thể với setContentView() method from Activity. Miễn là có ListView được gọi là @android:id/list ở đâu đó trong số 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ể nhìn vào source code for ListActivity và thấy rằng nó không làm tất cả những gì khác ngoài làm cho cuộc sống của bạn dễ dàng hơn một chút.

+0

Tôi chỉ đi với phương pháp này trong khi cố gắng refactor một số mã sử dụng cùng một cơ sở nhưng cả hoạt động và ListActivity. Đặt một ListView trống trong phần chung của bố cục của tôi và sau đó chia sẻ phần chung đó bằng cách sử dụng các thẻ . –

+0

ListActivity có một số lỗi hiển thị trong trường hợp sử dụng nhất định. Vì vậy, ListActivity là có thể sử dụng theo thời gian trên trường hợp sử dụng rất cơ bản. Và trong trường hợp đó là đủ đơn giản để sử dụng Activity và ListView. – Anderson

11

Tôi muốn đi với hoạt động. Không thực sự thấy lý do để sử dụng ListActivity, trừ khi bạn muốn làm một cái gì đó tầm thường và bạn biết nó sẽ được với Danh sách.

+0

Điều đó có nghĩa là không có lợi thế khi sử dụng ListActivity qua Hoạt động và nó chỉ có ở dạng "lối tắt" của các loại? Có một số loại tiêu chuẩn cho điều này mà Google mong đợi không? – Bara

+2

Đối với tôi những lợi thế như Dave đã nêu ở trên, tiết kiệm thời gian và làm cho mã nhỏ hơn một chút. Nhìn vào ListActivity trong tài liệu hoặc trong mã nguồn như Dave gợi ý và xem bạn có cần sự tiện lợi đó không. Cá nhân tôi, sử dụng hoạt động trong hầu hết các trường hợp. –

+2

Tôi đồng ý. ListActivity vừa mới không đủ. Nó vẫn có thể được tốt đẹp để một cái gì đó tầm thường. –

0

Bạn nên sử dụng Hoạt động thay vì ListActivity vì mã ListActivity không thể tái sử dụng được và bạn cần phải viết chúng lặp đi lặp lại.

+1

Điều này không cung cấp câu trả lời cho câu hỏi. Khi bạn có đủ [danh tiếng] (https://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào] (https://stackoverflow.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay thế). - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/18620473) – thewaywewere

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