我正在尝试为我的应用程序打开第二个屏幕。用户必须单击菜单项,然后必须打开屏幕。但我尝试它总是在案例陈述之后忽略规则。
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()
。
答案 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;