【发布时间】:2015-02-24 21:40:12
【问题描述】:
我正在尝试在片段中显示街景。
public class StreetDisplay extends Fragment implements OnStreetViewPanoramaReadyCallback{
SupportStreetViewPanoramaFragment streetFrag;
static final LatLng PosOne = new LatLng(43.771925, -79.512460);
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.street_display, container, false);
initialize();
return v;
}
private void initialize() {
streetFrag =
(SupportStreetViewPanoramaFragment) getFragmentManager()
.findFragmentById(R.id.street);
streetFrag.getStreetViewPanoramaAsync(this);
}
//this method is needed for using a ViewPager swiping feature
public static StreetDisplay newInstance(){
StreetDisplay sd = new StreetDisplay();
return sd;
}
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama panorama) {
panorama.setPosition(PosOne);
}
}
这是我在运行应用程序时收到的错误消息
Process: com.example.nikhilbhaskar.mapplayground, PID: 22406
java.lang.NullPointerException
at com.example.nikhilbhaskar.mapplayground.StreetDisplay.initialize(StreetDisplay.java:43)
at com.example.nikhilbhaskar.mapplayground.StreetDisplay.onCreateView(StreetDisplay.java:33)
第 33 行是
initialize();
第 43 行是
streetFrag.getStreetViewPanoramaAsync(this);
我不确定问题是什么 - 你能帮忙吗?
【问题讨论】:
-
你使用
Fragment的支持库吗? -
你是说这个吗?导入android.support.v4.app.Fragment;是的,这是我继承的 Fragment 类
-
尝试把这个:
getFragmentManager()改成:getSupportFragmentManager() -
但是getSupportFragmentManager()是FragmentActivity类的一个方法。我不能扩展那个类;我需要 Fragment 类,因为我在 ViewPager 中使用这些完全相同的片段来制作屏幕滑动动画
-
你可以使用:
getActivity().getSupportFragmentManager();
标签: java android google-maps nullpointerexception google-street-view