有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

现在我想在它前面做一个菜单,比如菜单。xml。使用按钮选项,帮助和播放。当我单击play时,普通视图(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的onCreate()中的所有按钮和内容。JAVA在这种情况下,只有菜单

那么有没有可能把Mijnenveger的所有东西都扔掉。java在一个新类(例如class1.java)中,并生成Mijnenveger。java只加载菜单,然后当单击play按钮时,它加载类class1。打开main的java。包含所有按钮和内容的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));

我已经做了我上面说的,并称之为文件游戏。JAVA但它给了我一个错误: 构造函数意图(new View.OnClickListener(){},类)未定义

编辑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);
        }
    });

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

“这个”有点不对


共 (2) 个答案

  1. # 1 楼答案

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

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

  2. # 2 楼答案

    创建第二个acitvity类,例如GameActivity。爪哇
    在方法onClick for button play中,启动GameActivity类

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