0

我想为菜单项创建一个新布局。例如,菜单有项目:AboutExit。当我单击该项目About时,我希望它转到显示学分的新页面。

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

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

1 回答 1

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

...

以上关于我们的 Home Activity 的代码,我们也必须在 Target Activity 中做一些事情。

在您的 Target 活动的 onCreate 方法 AFTER super.onCreate.. 中,您必须设置setContentView(R.layout.about);以查看您的关于页面。

还有一个重要的问题是关于AndroidManifest.xml

Android系统必须知道每一个变化。如果您向应用程序添加新活动,则必须通知AndroidManifest.xml

如何通知 AndroidManifest.xml 以获取新的 Activity?

   <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>
于 2013-03-06T20:29:06.730 回答