gpt4 book ai didi

android - 我将如何创建一个 Spinner 以用作 Action Item?

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:04 24 4
gpt4 key购买 nike

(Android 3.0+) 我如何创建一个微调器用作 Android Honeycomb 操作栏的操作项?我知道 Action Bar 的 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: ERROR/AndroidRuntime(493): FATAL EXCEPTION: main
06-27 18:36:59.496: ERROR/AndroidRuntime(493): java.lang.NullPointerException
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at me.ics.icsActivity.onCreateOptionsMenu(icsActivity.java:84)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at android.app.Activity.onCreatePanelMenu(Activity.java:2389)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:347)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:647)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at com.android.internal.policy.impl.PhoneWindow$2.run(PhoneWindow.java:2581)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at android.os.Handler.handleCallback(Handler.java:587)
06-27 18:36:59.496: ERROR/AndroidRuntime(493): at 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: ERROR/AndroidRuntime(493): at 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: ERROR/AndroidRuntime(493): at dalvik.system.NativeStart.main(Native Method)

最佳答案

我猜你没有 Spinner谁的android:idR.id.spin_widget .

如果你想把 Spinner作为行动项目,正如您的问题所述,您不会得到 Spinner通过findViewById() , 而不是 getActionView()MenuItem 上有问题。 Here is a sample project演示了这一点,以一种适用于 Honeycomb 的方式实现,但也成功地跳过了旧版本 Android 上的这段代码。

关于android - 我将如何创建一个 Spinner 以用作 Action Item?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487123/

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