如何使列表视图中的项目在Android中不可点击

如何使列表视图中的项目不能点击。 我在列表视图中获得主题和项目,但对于主题和项目,视图都是相同的。 项目点击可以但话题不可点击。 如何实现这一点

该列表将看起来像

Topic item Topic item item 

话题。 点击能够(false)没有工作,请帮忙

分享我的经验,下面的技巧(视图指列表项视图):

 view.setEnabled(false); view.setOnClickListener(null); 
  • 通过覆盖该方法启用不起作用,因为该方法从未被调用过。
  • 将焦点设置为false也不起作用。

不知道你是否仍然需要它,但是你可以实现你自己的Adapter并覆盖方法isEnabled(int position)。 根据项目的ViewType,您将返回true或false。

要使列表中的项目不可点击,必须使适配器在其列表中的项目的isEnabled方法上返回false。 实例化适配器并重写isEnabled的简单方法可以通过以下方式完成:

 SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to, 0) { @Override public boolean isEnabled(int position) { return false; } }; 

这是正确的答案:

我发现了很多评论

 setEnabled(false) setClickable(false) setFocusable(false) 

会工作,但答案是否定的

这种方法唯一的解决方法是做:

 view = inflater.inflate(R.layout.row_storage_divider, parent, false); view.setOnClickListener(null); 

在ListView中设置listSelector透明

 android:listSelector="@android:color/transparent" 

在你的适配器中,你有这样的:

 view = inflator.inflate(R.layout.items_menu_header, null); view.setOnClickListener(null); 

我使用布尔值来标识是否标题或项目,所以我为每个types分配不同的布局。

在你的ListView添加以下属性

 android:cacheColorHint = "#00000000"