0

MainActivity と拡張 DsiplayClass があります。この DisplayClass から、setContentView を介して ContentView を変更したかったのですが、取得したのは NullPointerException だけです。

私を助けて、理由を教えてください。

主な活動:

public class Main extends Activity {

    DisplayClass display;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        display = new DisplayClass();

        display.showMain();
    }

}

表示クラス:

public class DisplayClass extends Main {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public void DisplayClass() {

    }

    public void showMain() {
        setContentView(R.layout.mainmenu);
    }

}

「setContentView(R.layout.mainmenu);」を設定した行で NullPointerException が発生します。この行には「display.showMain();」があります。

私を助けてください。

4

1 に答える 1

1

ここで何をしようとしているのですか?クラスのメソッドsetContentView(R.layout.mainmenu);に入れるべきです。完全に削除します。MainonCreate()DisplayClass

null ポインターを取得する理由はActivity、( DisplayClass) が実際には「開始」されていないためです。

public class DisplayClass {
    public static showMain(Activity main) {
        main.setContentView(R.id.layoutmain);
    }
}

そしてonCreate、あなたのメソッドの中でMain Activity...

DisplayClass.showMain(this);
于 2014-04-10T00:27:47.690 に答える