我在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)未定义
“这个”有一些错误。
答案 0 :(得分:2)
创建第二个活动类,例如GameActivity.java
在方法onClick for button play中,启动GameActivity类。
Intent i = new Intent(this, GameActivity.class);
startActivity(i);
答案 1 :(得分:0)
将菜单屏幕放在首先运行的活动中,让您的按钮为相关代码启动不同的活动。
从Android开发人员的文档中了解有关活动和意图的更多信息