菜单中的新页面

时间:2013-03-06 20:05:21

标签: android android-layout android-optionsmenu

我想为菜单项创建一个新布局。例如,菜单包含以下项目:关于退出。当我点击项目关于时,我希望它转到显示学分的新页面。

我做过这样的事情,但是我得到了一个错误,有什么帮助吗?

@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);

1 个答案:

答案 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>