2010-06-10 27 views
14

Có cách nào để hiển thị MapView mà không mở rộng MapActivity không? Tôi có lớp Activity khác mà tôi đang mở rộng và tôi không muốn thay đổi điều đó ... Tôi đã thấy rằng bạn có thể thổi phồng bằng cách sử dụng MapActivity, nhưng không tìm thấy bất kỳ spec/ví dụ nào về cách thực hiện nó.MapView mà không mở rộng MapActivity

+0

Lớp nào khác? – Macarse

+0

của riêng tôi, thiết lập những thứ khác nhau, có nhiều chức năng, đối tượng tôi sử dụng trong các hoạt động –

+0

Tôi có thể mở rộng lớp của mình bằng MapActivity, nhưng điều đó có nghĩa là tất cả các hoạt động của tôi sẽ mở rộng ... –

Trả lời

6

Có cách nào để hiển thị MapView mà không mở rộng MapActivity không?

Không phải là tôi biết.

tôi có thể mở rộng lớp học của tôi với MapActivity, nhưng điều đó sẽ có nghĩa là tất cả hoạt động của tôi sẽ mở rộng nó

Sau đó, bạn cần phải cấu trúc lại mã của bạn, chẳng hạn rằng các hoạt động của bạn làm không phải tất cả kế thừa từ của bạn lớp cơ sở riêng. Thừa kế không phải là một kỹ thuật OO rất linh hoạt, đặc biệt là trong Java.

+3

Tôi thấy rất tiếc là một số thành phần "chính thức" của Android yêu cầu hoạt động của bạn kế thừa một lớp cơ sở cụ thể, với MapActivity và FragmentActivity là hai ví dụ cụ thể gây phiền nhiễu. – Ralf

+0

"Sau đó, bạn cần phải cấu trúc lại mã của bạn, sao cho các hoạt động của bạn không được kế thừa từ lớp cơ sở của riêng bạn. Thừa kế không phải là một kỹ thuật OO rất linh hoạt, đặc biệt là trong Java." Đó là dissapointing rằng chính xác SDK Android không áp dụng này – Ixx

+0

Tôi có nghĩa là, điều này chỉ là như vậy sai và gây phiền nhiễu. Chỉ vì bạn đặt chế độ xem bản đồ ở đâu đó, toàn bộ hoạt động phải mở rộng MapActivity. Nó có ý nghĩa khi đặt mã chung của tất cả các hoạt động của tôi trong một siêu lớp chung, không để tránh thừa kế, chỉ vì Android đang sử dụng nó không chính xác. Điều gì tiếp theo, có thể là một TextViewActivity? – Ixx

0

Cách thực tế là tạo hai phiên bản hoạt động cơ bản ban đầu và sự khác biệt duy nhất giữa chúng là một hoạt động mở rộng và hoạt động khác mở rộng MapActivity (cùng một vấn đề với ListActivity).

Có mã trùng lặp. Đó là mùi hôi tôi biết. Nhưng chúng gần giống hệt nhau, bạn có thể chỉ cần sao chép toàn bộ tệp và thực hiện một sửa đổi nhỏ khi bạn đã thay đổi hoạt động cơ bản.

0

Ngay bây giờ, bạn có thể sử dụng các đoạn để hiển thị bản đồ ở bất kỳ nơi nào trong hoạt động của bạn và hoạt động chính của bạn không phải mở rộng bản đồ. bạn có triển khai trong MapView in a Fragment (Honeycomb)

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