Android:单击按钮时加载其他类?

时间:2012-01-25 21:11:35

标签: java android class

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

现在我想在它前面创建一个菜单,例如menu.xml。使用按钮选项,帮助和播放。当我点击播放时,正常视图(这是main.xml并包含Mijnenveger.java)。

我知道我可以将setContentView设置为menu:

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)中,并使Mijnenveger.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)未定义

EDIT2: 我现在有这个:

 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)未定义

“这个”有一些错误。

2 个答案:

答案 0 :(得分:2)

创建第二个活动类,例如GameActivity.java 在方法onClick for button play中,启动GameActivity类。

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

答案 1 :(得分:0)

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

从Android开发人员的文档中了解有关活动和意图的更多信息