0
私はゲームを開発中です。プレイヤーが失敗したりレベルが完了したらダイアログを表示したいと思います。このようなコード。android opengl es:Looper.prepare()を呼び出していないスレッド内でハンドラを作成できません。
@Override
public void onDrawFrame(GL10 gl) {
if(fail) {
Dialog restart = new Dialog(SquareRenderer.this);
restart.setContentView(R.layout.restart);
restart.show();
}
}
ログの猫はLooper.prepare(呼び出されていないスレッド内でハンドラを作成することはできませんと言う)
どのように私はそれを修正することができます。
...そうのように私は今それを試してみまし作成します。それは "java.lang.illegalstateexceptionシステムサービスは、oncreate()の前にアクティビティで利用できません" – smyl
どこにハンドラを配置しましたか?その音によって、アクティビティがコンテキストを取得した後に、そのサウンドを挿入する必要があります。あなたは 'onCreate()'の最後に 'Handler'をインスタンス化しようとしましたか、それがあなたのコンストラクタでインスタンス化するレンダリングクラス(私が想定しているもの)にある場合は試しましたか? – DRiFTy
私のクラスはpublicクラスと似ていますレンダラーはレンダラーを実装しますレンダラーハンドラーを入れてonCreateするとNullPointerExceptionがスローされます – smyl