0

Android 用のゲームを作成しようとしていますが、Windows で問題が発生しています。

「mainactivity」から「newgame」ウィンドウを開くことができます。「戻る」ボタンで作業しようとしていますが、機能しません。

また、2番目の「newgame」ウィンドウから新しいウィンドウを開くこともできません(「ロード」が開始されるかどうかをテストしていました)

これはばかげた間違いかもしれませんが、なぜ機能しないのかわかりません。ほとんどのアプリ チュートリアルは 1 つのウィンドウを扱うため、役に立たない

私のコード:

メインアクティビティ.java:

package dream.o.eternaty;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        final Button NewGame = (Button) findViewById(R.id.button1);
        NewGame.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                setContentView(R.layout.newgame);
            }
        });

        final Button Load = (Button) findViewById(R.id.button2);
        Load.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                setContentView(R.layout.loadgame);
            }});  
        }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

newgame.java:

package dream.o.eternaty;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class NewGame extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newgame);
        final Button Back = (Button) findViewById(R.id.newgameback);
        Back.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                setContentView(R.layout.loadgame);
            }
        });
    };

    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }});
}
4

1 に答える 1

9

ビューを移行するべきではありませんが、実際には NewGame の新しいアクティビティを開始します。これは、宣言したとおりです。次のように実行できます。

Intent newIntent = new Intent(MainActivity.this,NewGame.class);
startActivityForResult(newIntent, 0);

MainActivity の onClick リスナーで

于 2012-12-19T21:21:23.643 に答える