0

我有一个现在几乎完成的应用程序,但是我在主类中有几个方法,所以它看起来非常不整洁/很大。

我想将这些方法分离到单独的类中,但尽管我尝试了这个,但我不断收到空指针错误。

即使在另一个类中只创建一个字符串并尝试在另一个类中获取它,我也会得到空结果。

我已经在这里进行了搜索,但没有真正回答我的问题,我将不胜感激。

编辑:这是一些示例代码:

public  class Test2  extends mainClass{
public ArrayList<ExtendedOverlayItem> somethingz = new ArrayList<ExtendedOverlayItem>();
public void addSomething() {
    ExtendedOverlayItem poi = new ExtendedOverlayItem(
            "description", "description", new GeoPoint(88.123058,
                    -10.987654), null);
    poi.setMarkerHotspot(OverlayItem.HotspotPlace.CENTER);
    poi.setDescription("test");
    somethingz.add(poi);

    ItemizedOverlayWithBubble<ExtendedOverlayItem> node = new ItemizedOverlayWithBubble<ExtendedOverlayItem>(
            this, somethingz, map);
    map.getOverlays().add(node);

}
public ArrayList<ExtendedOverlayItem> getSomethingz() {
    return somethingz;
}
public Test2(ArrayList<ExtendedOverlayItem> somesthingz) {
    super();
    this.somesthingz =somesthingz;

}
public void setSomethingz(ArrayList<ExtendedOverlayItem> somesthingz) {
    this.somesthingz = somesthingz;
}

}

然后在我的主要课程中,我简单地添加了

测试2测试;然后调用该方法: test.addSomething();

我很可能遗漏了一些微不足道的东西,但我什至只是在 test2 类中尝试了一个字符串,然后尝试从主类中打印出来,但它导致空指针。

谢谢。

4

1 回答 1

0

听起来您可能正在尝试这样做:

Test2 test;
test.addSomething();

如果是这样,那么您需要像这样实例化对象:

ArrayList<ExtendedOverlayItem> itemList = new ArrayList<ExtendedOverlayItem>();
Test2 test = new Test2(itemList);
test.addSomething();

看看那里的一些各种介绍性 Java 教程以熟悉该语言。

于 2013-08-21T18:54:07.930 回答