Tôi muốn có thể chuyển đổi giữa phân đoạn danh sách và đoạn bản đồ của người dùng bằng cách nhấn vào nút thanh tác vụ. Hiện tại tôi có thể trao đổi giữa chúng chỉ tốt nhưng tôi đang chạy vào một con trỏ null khi cố gắng để có được đối tượng GoogleMap thực tế từ đoạn. Khi tôi thử và di chuyển máy ảnh, nó không di chuyển do đối tượng GoogleMap bị thiếu và bỏ qua mã đó. Tôi không chắc liệu điều này có phải là do thực tế rằng tôi chưa bao giờ thực sự tạo ra Fragment từ xml nhưng thay vì chỉ sử dụng mã? Mã của tôi như sau:Hoán đổi giữa phân đoạn bản đồ Android v2 và liệt kê
public class MapFragment extends SherlockMapFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = super.onCreateView(inflater, container, savedInstanceState);
return root;
}
}
@Override
public void swapFragments() {
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
if (listFragment.isVisible()) {
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
transaction.replace(R.id.root, mapFragment);
} else {
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
transaction.replace(R.id.root, listFragment);
}
transaction.commit();
}
@Override
public void setupMapFragment() {
mapFragment = new MapFragment();
mMap = mapFragment.getMap();
if (mMap != null) {
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(BuzzbabaApplication.latitude,
BuzzbabaApplication.longitude), 14));
}
}
Hmm ... vì vậy bố cục chính của tôi chỉ có FrameLayout mà tôi sử dụng để đặt các đoạn danh sách khác nhau vào, tôi muốn tránh đặt mảnh bản đồ vào đó vì tôi sẽ ẩn nó ngay lập tức, cho đến khi chúng nhấp một cái gì đó, nhưng đây là lựa chọn duy nhất? – egfconnor
Nevermind, tôi đã thêm một cuộc gọi lại vào MapFragment trong onActivityCreated báo hiệu rằng GoogleMap không rỗng và đã sẵn sàng. Điều đó có vẻ như một nơi an toàn để làm điều đó. – egfconnor
Có thêm gọi lại cũng là một cách hay để thực hiện. Giải pháp tốt. –