2012-09-18 33 views
1

我在我的Android应用程序中有一个ListView,它是部分可点击的....前10行不做任何事情(只是显示数据),第二个10可点击并打开一个新的活动。如何让ListView不会在Android中产生点击声音?

整个ListView实际上是可点击的,我只是在检测到超出特定位置的单元格上的触摸时才打开一个活动。这是正确的方法吗?

因为这个原因,当有人触及任何一行时,在设备上播放点击声音,而不仅仅是打开一个活动的声音。如何阻止某些行发生这种情况?

回答

3

覆盖isEnabled,如下所示。

class MenuAdapter extends ArrayAdapter<String> { 

    .... 

    public boolean isEnabled(int position) { 
     return position >= 10; 
    } 
} 

此方法来自BaseAdapter类。

+0

所以我通过什么位置....在哪里我希望启动启动? –

+0

不,这种方法是自动调用的。您希望ArrayAdapter实现isEnabled方法,并且它应该报告给定位置的行是否已启用。我发布的内容将描述如果行位于10或更高的位置,那么它将被启用,因为您的问题状态是所需的功能。 –

+0

啊,我现在明白了。得到它为我所需要的工作...谢谢! –