0

我正在尝试为 android 制作游戏,但我的 windows 出现了一些问题。

我可以从“mainactivity”打开“newgame”窗口,我正在尝试使用“back”按钮,但我无法让它工作。

我也无法从第二个“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 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;
    }
}

新游戏.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 回答