用java智能地创建对象

时间:2014-01-21 20:44:11

标签: java android class initialization

我正在使用android应用程序进行编程,但是我创建视图的方法是如此乏味,任何人都对它们有好主意?

    MapView mMapView1 = new MapView(getActivity(),1);
    initialMapView(mMapView1);

    MapView mMapView2 = new MapView(getActivity(),2);
    initialMapView(mMapView2);

    MapView mMapView3 = new MapView(getActivity(),3);
    initialMapView(mMapView3);

    MapView mMapView4 = new MapView(getActivity(),4);
    initialMapView(mMapView4);

    MapView mMapView5 = new MapView(getActivity(),5);
    initialMapView(mMapView5);

    MapView mMapView6 = new MapView(getActivity(),6);
    initialMapView(mMapView6);

1 个答案:

答案 0 :(得分:3)

这看起来非常像你可以使用数组或列表:

List<MapView> mapViews = new ArrayList<>();
for (int i = 1; i <= 6; i++) {
    MapView mapView = new MapView(getActivity(), i);
    initialMapView(mapView);
    mapViews.add(mapView);
}

(您现在可以使用mapViews.get(...)稍后获取每个元素。)

编辑:请注意,两个数组和List<E>都是基于0的 - 所以在上面的示例中,您使用mapViews.get(0)来使用{的第二个参数初始化MapView {1}}。