gpt4 book ai didi

java - onOptionsItemSelected 的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 02:57:34 27 4
gpt4 key购买 nike

我对 public boolean onOptionsItemSelected(MenuItem item) 有问题。

我的代码:

public boolean onOptionsItemSelected(MenuItem item) 
{
switch(item.getItemId())
{
case R.id.action_timetable:
{
wbViewTimetable.setInitialScale(200);
loadTimetable();
break;
}
case R.id.action_map_eg:
{
wbViewTimetable.setInitialScale(100);
wbViewTimetable.loadUrl("file:///android_asset/floor_plan_eg.png");
break;
}
case R.id.action_map_og:
{
wbViewTimetable.setInitialScale(100);
wbViewTimetable.loadUrl("file:///android_asset/floor_plan_og.png");
break;
}
}
return true;
}

我的 main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" >


<item android:id="@+id/action_timetable"
android:title="Timetable"/>

<item android:id="@+id/action_map_eg"
android:title="Map 2" />

<item android:id="@+id/action_map_og"
android:title="Map 1"/>

<item android:id="@+id/action_settings"
android:title="Settings"
android:orderInCategory="100"/>

所以我的问题是,如果我选择一个菜单项,每次都会选择并打开另一个菜单项,例如。如果我选择第一个,就会选择第二个,第二个第三个,依此类推。

唯一真正起作用的是最后一个 (action_settings)。

最佳答案

从您提供的代码中我看不出任何明显的原因会发生这种情况,但是您的 switch/case 语法不同。

你是这样写的:

switch(item.getItemId()) {
case R.id.action_timetable:
{
// ...
break;
}
case R.id.action_map_eg:
{
// ...
break;
}
}
return true;

我的是这样写的:

switch(item.getItemId()) {
case R.id.action_timetable:
// ...
return true;
case R.id.action_map_eg:
// ...
return true;
}

这似乎不太可能,但这可能是问题的根源。希望这会有所帮助。

关于java - onOptionsItemSelected 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com