2011-06-23 33 views
3

我在ActionBar中使用导航控件来提供下拉列表。我想在某些情况下禁用选择下拉列表。可以禁用ActionBar下拉导航列表控件吗?

我对微调适配器的封闭视图的布局有一个TextView裹在LinearLayout。我想到的最好的方法是在我的微调器适配器中覆盖getView,并使LinearLayoutTextView不可点击和禁用。这具有使文本变灰的效果,但仍然可以选择。

编辑我明白我可以隐藏列表,但这不是我想要做的。此外,我在检查一个或所有项目是否启用的方法中返回了false,但这不起作用。

试图在Xoom上使用Honeycomb。提前致谢。彼得。

回答

11

如果要防止在列表导航模式中选择任何内容,请拨打setNavigationMode(NAVIGATION_MODE_STANDARD)并完全清除,直到您准备好再次使用它为止。

如果你想阻止列表导航模式下的特定项目的选择,让您的SpinnerAdapter实施areAllItemsEnabled()回到false和实施isItemEnabled()返回truefalse需要 - 我还没有尝试这样做,但在理论上它应该管用。

+0

设置各种启用方法返回false不起作用。我已经更新了相应的问题。 – PJL

+1

@PJL:那么我怀疑你想要什么是不可能的。 – CommonsWare

+0

我用这段代码隐藏/显示列表,当用户点击thesearchWidget,否则它会调整我的列表损坏布局:) – max4ever

0

您可以创建出象这样在你的动作条的自定义视图:

ViewGroup customFilterBrowse = (ViewGroup) getLayoutInflater().inflate(R.layout.component_cancellable_progressbar, null);  
    ActionBar actionBar = getActionBar(); 
    actionBar.setCustomView(customFilterBrowse); 
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM); 

您可以自定义视图做任何你想要的(你可以创建你在某些情况下,禁用例如Spinner组件)。

HTH

+0

谢谢。不再在这个领域工作(不再是一个要求),但会在某个时候尝试这个,以接受答案。 – PJL