(Android 3.0+)如何创建一个 Spinner 用作 Android Honeycomb 的操作栏的操作项?我知道操作栏的 LIST 模式几乎可以做到这一点,但我想改用它的 TAB 模式。因为,据我所知,我不能同时打开两者,所以我试图将微调器用作操作项。
这是java:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.spin_menu, menu);
Spinner spin = (Spinner) findViewById(R.id.spin_widget);
ArrayAdapter<CharSequence> spinAdaptor = ArrayAdapter.createFromResource(
this, R.array.spinlist, android.R.layout.simple_spinner_item);
spinAdaptor.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(spinAdaptor);
return super.onCreateOptionsMenu(menu);
}
eclipse中没有出现错误,但是运行程序会导致强制关闭。对绝对初学者有什么建议吗?
更新 - 添加了 logcat 错误严重性日志:(至少,我认为是这样)
06-27 18:36:59.496: 错误/AndroidRuntime(493): 致命异常: main
06-27 18:36:59.496: 错误/AndroidRuntime(493): java.lang.NullPointerException
06-27 18:36:59.496:错误/AndroidRuntime(493): 在 me.ics.icsActivity.onCreateOptionsMenu(icsActivity.java:84)
06-27 18:36:59.496: 错误/AndroidRuntime(493): 在 android.app.Activity.onCreatePanelMenu(Activity.java :2389)
06-27 18:36:59.496: 错误/AndroidRuntime(493): 在 com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:347)
06-27 18:36:59.496: 错误/AndroidRuntime(493):在 com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:647)
06-27 18:36:59.496: 错误/AndroidRuntime(493): at com.android.internal.policy.impl.PhoneWindow$2.run(PhoneWindow.java:2581)
06-27 18:36:59.496: 错误/AndroidRuntime (493): 在 android.os.Handler.handleCallback(Handler.java:587)
06-27 18:36:59.496: 错误/AndroidRuntime(493): 在 android.os.Handler.dispatchMessage(Handler.java:92)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at android.os.Looper.loop(Looper.java:132)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at android. app.ActivityThread.main(ActivityThread.java:4025)
06-27 18:36:59.496: 错误/AndroidRuntime(493): 在 java.lang.reflect.Method.invokeNative(Native Method)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at java.lang.reflect.Method.invoke(Method.java:491)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:599)
06-27 18:36:59.496: 错误/AndroidRuntime(493): at dalvik.system.NativeStart.main(Native Method)