安卓:点击按钮时加载其他类



我在eclipse中有一个名为"mijnenveger"的项目。当然,Mijnenveger.java文件是自动创建的。例如,onCreate方法在屏幕上放置按钮。

现在我想在它前面做一个菜单,例如menu.xml。有了按钮选项,帮助和播放。当我点击播放时,正常视图(它是main.xml,包括Mijnenveger.java).

我知道我可以将setContentView设置为菜单:

public class Mijnenveger extends Activity implements View.OnClickListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);  //main would be replaced by menu

并对播放按钮进行onClick操作以显示main.xml:

setContentView(R.layout.main);

但有一个问题。当我启动应用程序时,它不需要加载Mijnenveger.java的onCreate()中的所有按钮和东西。在这种情况下,只需要加载菜单。

那么,是否可以将Mijnenveger.java中的所有内容放入一个新的类(例如class1.java)中,并使Mijnenvager.java只加载菜单,然后当单击播放按钮时,它加载class1.java类,该类将打开main.xml,其中包含所有按钮和内容。

我希望你能理解,这很难用英语解释:)

编辑:找到了可能的答案(http://stackoverflow.com/questions/2865238/how-do-i-call-a-java-file-on-click-in-another-java-class):

startActivity(new Intent(this, Game.class));

我已经完成了上面所说的,并将文件命名为Game.java。但它给了我这个错误:构造函数Intent(new View.OnClickListener(){},Class)未定义

第2版:我现在有了这个:

 final Button startgame = (Button) findViewById(R.id.startknop);
    startgame.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(this, Game.class);
            startActivity(i);
            setContentView(R.layout.main);
        }
    });

它仍然给出了这个错误:构造函数Intent(new View.OnClickListener(){},Class)未定义

"这个"有点不对。

创建第二个acitvity类,例如GameActivity.java。
在按钮播放的方法onClick中,启动GameActivity类

Intent i = new Intent(this, GameActivity.class);
startActivity(i);

将菜单屏幕放在首先运行的活动中,并使按钮为相关代码启动不同的活动。

从Android开发人员的文档

中了解有关活动和意图的更多信息

最新更新