0

私は Android が初めてで、Intent の使用に問題があります。あなたが私を助けてくれることを願っています。

アクティビティ内で、ボタンでダイアログを開きたいと思います。ボタンを押すと、同じアクティビティが再度読み込まれますが、いくつかのパラメーターがリセットされます。ラウンド1、ラウンド2のようです。

別のアクティビティを呼び出すため、動作する終了ダイアログがあります。2 番目のダイアログは正常に動作します。別のクラス内 (partida クラスのメソッド内) で show を使用しますが、次のラウンドのポップアップが開いたときに [OK] を押すと問題が発生します。 . そこに何を入れたらいいのかわからない。また、いくつかの静的変数と通常変数を宣言しました。

これは私のコードです:

        partida partida;
    public String animal, oculta, vidasS, puntosS, rondaS;
    public TextView palabra, vidasrest, puntostot, rondanum;
    ImageView vida;
    Button []btn=new Button[27];
    static int vidas=5;
    static int puntos=0;
    static int ronda=1;

    static AlertDialog.Builder finalpartida, rondanueva;

protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            partida=new partida();
            setContentView(R.layout.activity_partida);

            finalpartida = new AlertDialog.Builder(this);  
            finalpartida.setTitle("Final de la partida");  
            finalpartida.setMessage("Click OK para finalizar partida");            
            finalpartida.setCancelable(false);  
            finalpartida.setNegativeButton("Ok", new DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface finalpartida, int id) {  
                    //Creamos el Intent
                    Intent intent = new Intent(PartidaActivity.this, MainActivity.class);
                    vidas=5;
                    ronda=1;
                    puntos=0;
                    finish();
                    //Iniciamos la nueva actividad
                    startActivity(intent);
                }  
            });

            animal=partida.animal;
            oculta=partida.inicializa(animal);
            palabra = (TextView)findViewById(R.id.wordtxt);
            palabra.setText(oculta);
            vidasrest = (TextView)findViewById(R.id.txtvidas);
            vidasS = Integer.toString(vidas);
            vidasrest.setText("Vidas: "+vidasS);
            vida = (ImageView)findViewById(R.id.imgvidas);
            puntostot = (TextView)findViewById(R.id.txtPuntos);
            puntosS = Integer.toString(puntos);
            puntostot.setText("Puntos: "+puntosS);
            rondanum = (TextView)findViewById(R.id.txtronda);
            rondaS = Integer.toString(ronda);
            rondanum.setText("Ronda: "+rondaS);

            rondanueva = new AlertDialog.Builder(this);  
            rondanueva.setTitle("Fin de ronda "+ronda);  
            rondanueva.setMessage("Click OK para siguiente ronda");            
            rondanueva.setCancelable(false);  
            rondanueva.setNegativeButton("Ok", new DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface rondanueva, int id) {  
                    vidas=5;
                    ronda++;
//THIS DOESN'T WORK
                    Intent intent = new Intent(PartidaActivity.this, RondaActivity.class);
                    finish();
                    startActivity(intent);
                    //NEITHER THIS: ((Activity) rondanueva).setTitle("Fin de ronda "+ronda);


                    animal=partida.animal;//nombre del animal
                    oculta=partida.inicializa(animal);//estructuro palabra vacía
                    palabra.setText(oculta);
                    vidasS = Integer.toString(vidas);
                    vidasrest.setText("Vidas: "+vidasS);
                    vida.setImageResource(R.drawable.vidas5);
                    rondaS = Integer.toString(ronda);
                    rondanum.setText("Ronda: "+rondaS);

                }  
            });

        }

エラーログインテントを使用すると i=getIntent() ; startActivity(i) ; onClick内

09-09 17:07:09.294: W/System.err(329): java.lang.NullPointerException: アセット 09-09 17:07:09.294: W/System.err(329): android.content.res で。 AssetManager.readAsset(ネイティブ メソッド) 09-09 17:07:09.354: W/System.err(329): android.content.res.AssetManager.access$700(AssetManager.java:36) 09-09 17:07: 09.354: W/System.err(329): android.content.res.AssetManager$AssetInputStream.read(AssetManager.java:572) 09-09 17:07:09.364: W/System.err(329): 組織で.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:516) 09-09 17:07:09.364: W/System.err(329): org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser. java:479) 09-09 17:07:09.364: W/System.err(329): org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:318) 09-09 17:07:09.374: W/System.err(329): org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:275) 09-09 17:07:09.374: W/System.err(329): org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217) 09-09 17:07:09.374: W/System.err(329): org .jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:253) 09-09 17:07:09.374: W/System.err(329): org.jdom2.input.SAXBuilder.build(SAXBuilder.java: 1091) 09-09 17:07:09.374: W/System.err(329): org.myproject.ahorcadoanimales.Xml.(Xml.java:25) 09-09 17:07:09.374: W/System.err (329): org.myproject.ahorcadoanimales.partida.(partida.java:13) 09-09 17:07:09.394: W/System.err(329): org.myproject.ahorcadoanimales.PartidaActivity.onCreate (PartidaActivity) で.java:36) 09-09 17:07:09.394: W/System.err(329): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-09 17:07:09.394: W/システム.err(329): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 09-09 17:07:09.394: W/System.err(329): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 09-09 17:07:09.394: W/System.err( 329): android.app.ActivityThread.access$1500(ActivityThread.java:117) 09-09 17:07:09.394: W/System.err(329): android.app.ActivityThread$H.handleMessage(ActivityThread. java:931) 09-09 17:07:09.394: W/System.err(329): android.os.Handler.dispatchMessage(Handler.java:99) 09-09 17:07:09.394: W/System. err(329): android.os.Looper.loop(Looper.java:123) 09-09 17:07:09.394: W/System.err(329): android.app.ActivityThread.main(ActivityThread.java) :3683) 09-09 17:07:09.394: W/System.err(329): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 09-09 17:07:09.424: W/System.err( 329): java.lang.reflect.Method.invoke(Method.java:507) 09-09 17:07:09.424: W/System.err(329): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 09-09 17:07:09.444: W/System.err(329): com.android.internal.os.ZygoteInit.main(ZygoteInit) で.java:597) 09-09 17:07:09.444: W/System.err(329): dalvik.system.NativeStart.main(ネイティブ メソッド) 09-09 17:07:09.564: D/AndroidRuntime(329) : VM をシャットダウンしています 09-09 17:07:09.564: W/dalvikvm(329): threadid=1: キャッチされない例外で終了するスレッド (group=0x40015560) 09-09 17:07:09.604: E/AndroidRuntime(329):致命的な例外: main 09-09 17:07:09.604: E/AndroidRuntime(329): java.lang.RuntimeException: アクティビティを開始できません ComponentInfo{org.myproject.ahorcadoanimales/org.myproject.ahorcadoanimales.PartidaActivity}: java.lang .NullPointerException 09-09 17:07:09.604: E/AndroidRuntime(329): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 09-09 17:07:09 で。604: E/AndroidRuntime(329): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 09-09 17:07:09.604: E/AndroidRuntime(329): android.app.ActivityThread.access$1500( ActivityThread.java:117) 09-09 17:07:09.604: E/AndroidRuntime(329): android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 09-09 17:07:09.604: E/ AndroidRuntime(329): android.os.Handler.dispatchMessage(Handler.java:99) 09-09 17:07:09.604: E/AndroidRuntime(329): android.os.Looper.loop(Looper.java:123) ) 09-09 17:07:09.604: E/AndroidRuntime(329): android.app.ActivityThread.main(ActivityThread.java:3683) 09-09 17:07:09.604: E/AndroidRuntime(329): Java で.lang.reflect.Method.invokeNative(ネイティブ メソッド) 09-09 17:07:09.604: E/AndroidRuntime(329): java.lang.reflect.Method.invoke(Method.java:507) 09-09 17: 07:09.604:E/AndroidRuntime(329): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 09-09 17:07:09.604: E/AndroidRuntime(329): com.android.internal で.os.ZygoteInit.main(ZygoteInit.java:597) 09-09 17:07:09.604: E/AndroidRuntime(329): dalvik.system.NativeStart.main(ネイティブ メソッド) 09-09 17:07:09.604: E/AndroidRuntime(329): 原因: java.lang.NullPointerException 09-09 17:07:09.604: E/AndroidRuntime(329): org.myproject.ahorcadoanimales.partida.inicializa(partida.java:19) 09- 09 17:07:09.604: E/AndroidRuntime(329): org.myproject.ahorcadoanimales.PartidaActivity.onCreate(PartidaActivity.java:66) 09-09 17:07:09.604: E/AndroidRuntime(329): Android で。 app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-09 17:07:09.604: E/AndroidRuntime(329): android.app.ActivityThread で。performLaunchActivity(ActivityThread.java:1611) 09-09 17:07:09.604: E/AndroidRuntime(329): ... 11 もっと見る

4

2 に答える 2

0

ダイアログ ボックスがポップアップ表示されないという問題はありますか? そうでない場合、正確に何が問題なのか説明していただけますか?

于 2013-09-04T17:27:35.103 に答える