我想为菜单项创建一个新布局。例如,菜单包含以下项目:关于和退出。当我点击项目关于时,我希望它转到显示学分的新页面。
我做过这样的事情,但是我得到了一个错误,有什么帮助吗?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.xsi_zero, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.aboutMenu:
setContentView(R.layout.about);
break;
case R.id.exitGame:
XsiZero.this.finish();
break;
}
return true;
}
我在这一行得到错误:
setContentView(R.layout.about);
答案 0 :(得分:0)
如果您想要使用Intents.
启动活动,那么Intends就是一种信使,可以通过简单的定义来传递我们的消息,请求。
//This creates a new Intent object that has home and target
Intent niceIntent = new Intent(YourCurrentActivityName.this, TargetActivityName.class);
//Now start your Activity(Operation)
startActivity(niceIntent);
...
关于我们的家庭活动的上述代码,我们也必须在目标活动中做些事情。
在目标活动的on super.onCreate
之后的onCreate方法中,您必须设置setContentView(R.layout.about);
才能看到您的相关页面。
AndroidManifest.xml
Android系统必须知道每一个变化。如果您向应用程序添加新活动,则必须通知AndroidManifest.xml
如何通知AndroidManifest.xml新活动?
<activity
android:name="com.yourpackagename.projectname"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>