可以禁用ActionBar下拉导航列表控件吗?

时间:2011-06-23 08:00:19

标签: android android-3.0-honeycomb

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

我的微调器适配器关闭视图的布局包含TextView LinearLayout。我提出的最好的方法是在我的微调器的适配器中覆盖getView并使LinearLayoutTextView不可点击和禁用。这会使文本变灰,但仍然可以选择它。

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

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

2 个答案:

答案 0 :(得分:11)

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

如果您想阻止在列表导航模式中选择特定项目,请让SpinnerAdapter工具areAllItemsEnabled()返回false并实施isItemEnabled()以返回{{1或者true根据需要 - 我没有尝试过这个,但理论上它应该可行。

答案 1 :(得分:0)

您可以在ActionBar中创建自定义视图,如下所示:

    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