0

ほとんど完成したアプリケーションがありますが、メイン クラス内にいくつかのメソッドがあるため、非常に乱雑/大きく見えます。

これらのメソッドを個別のクラスに分離したいのですが、これを試みたにもかかわらず、null ポインター エラーが継続的に発生します。

別のクラス内で文字列だけを作成し、別のクラス内でそれを取得しようとしても、null の結果が得られます。

ここで検索を行いましたが、私の質問に本当に答えるものはありません。助けていただければ幸いです。

編集:ここにいくつかのサンプルコードがあります:

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;
}

}

次に、メインクラスに単純に追加しました

Test2 テスト; 次に、次のメソッドを呼び出します。

些細なことを見逃している可能性が最も高いですが、test2クラスの文字列でこれを試してから、メインクラスから出力しようとしましたが、nullポインターになります。

ありがとう。

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 に答える