程序不会打开新窗口

时间:2012-12-19 21:15:10

标签: java android xml

我正在尝试为adroid制作游戏,并且我的窗户出现了一些问题。

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

我也无法从第二个“newgame”窗口打开新窗口(正在测试它是否会开始“加载”)

这可能是一个愚蠢的错误,但我不知道为什么它不起作用。大多数应用教程都处理一个窗口,因此无法帮助我

我的代码:

mainactivity.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;
    }});
}

1 个答案:

答案 0 :(得分:9)

你不应该转换视图,但实际上是为NewGame开始一个新的活动,就像你宣布的那样,你可以这样做

Intent newIntent = new Intent(MainActivity.this,NewGame.class);
startActivityForResult(newIntent, 0);
在MainActivity的onClick侦听器