Android:从菜单项开始新活动

时间:2012-01-27 07:33:01

标签: java android android-activity menu

我正在尝试为我的应用程序打开第二个屏幕。用户必须单击菜单项,然后必须打开屏幕。但我尝试它总是在案例陈述之后忽略规则。

    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.OpenScreen:  startActivity(new Intent(this, SecondScreenActivity.class));;
                            break;
    }
    return true;

我还在标签内的AndroidManifest.xml中添加了活动。

任何帮助都将是apreciated


解决方案

我在新类的构造函数中有finish()

3 个答案:

答案 0 :(得分:3)

对我来说,你的java代码是正确的,并以这种方式为我工作。

然而,当我学习Android时,当我开始一项新活动时,我遇到了与你相同的问题,没有任何事情发生,没有任何错误,只是没有工作。

在我的情况下,我忘了在AndroidManifest.xml文件中添加活动。也许对你来说也是一样。

您的AndroidManifest文件应该包含类似的内容

<activity
    android:name=".SecondScreenActivity" >
</activity>

这告诉系统SecondScreenActivity是否排除。

http://developer.android.com/guide/topics/manifest/activity-element.html他们说:

  

所有活动必须由清单文件中的元素表示。任何未在此处声明的内容都不会被系统看到,也永远不会被运行。

希望这有帮助

答案 1 :(得分:1)

试试这个

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case R.id.OpenScreen:  
            startActivity(new Intent(YourClass.this, SecondScreenActivity.class));
                           break;
}
return true;

答案 2 :(得分:1)

return true不要onOptionsItemSelected

像这样调用超级方法。

return super.onOptionsItemSelected(item);

而不是返回true;