Android ListView可点击错误不工作

Android ListView可点击错误不工作,android,listview,Android,Listview,我想让AndroidListView暂时不可点击,直到我的AysncTask完成 所以我用 lv.setClickable(false); 但它不起作用列表视图仍然需要点击。需要帮助。请尝试以下方法: lv.setEnabled(false); 编辑:好的,对不起我的错 我认为问题在于,单击的不是ListView,而是表示ListView中每个项目的视图。所以试试这个: View itemView = lv.findViewTraversal(id_of_your_view); it

我想让Android
ListView
暂时不可点击,直到我的
AysncTask
完成

所以我用

lv.setClickable(false);
但它不起作用<代码>列表视图仍然需要点击。需要帮助。

请尝试以下方法:

    lv.setEnabled(false);
编辑:好的,对不起我的错

我认为问题在于,单击的不是ListView,而是表示ListView中每个项目的视图。所以试试这个:

View itemView = lv.findViewTraversal(id_of_your_view);
itemView.setClickable(false);
我希望这能奏效

  • 您是否尝试了
    setFocusable
    /
    setEnabled
    方法
  • 您可以在您的McClick方法中:
  • if(!mWorking){
    mWorking=真;
    //做这项工作。。。
    }

  • 您可以尝试实现并重写该方法。谷歌上有很多“啧啧”的人

  • 我希望这将有助于您

    我的工作是在XML中为我的列表项设置两个属性。我设置了
    clickable=“false”
    focusable=“true”
    。因此,我的每个列表项都会膨胀一个类似于以下内容的XML文件:

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="false"
        android:focusable="true" >
    
        <!-- Children here -->
    
    </LinearLayout>
    
    
    
    我不确定这到底是为什么,尽管这是我的猜测:

    • 仅使用clickable属性不起作用,因为尽管LinearLayout不可单击,但其中的子项仍然可单击。然后,孩子们得到click事件,但不使用它,并将其转发到LinearLayout

    • 通过使LinearLayout可聚焦,它现在将接受click事件,然后将其删除,因为它不可单击


    希望这有帮助。如果有人确切知道这种方法的工作原理,请插话。

    我把它放在了OnItemClick(…)函数中;将ListView设置为
    preExecute
    method
    lv.setEnabled(false)
    并在
    postExecute
    中再次启用
    lv.setEnabled(true)我用lv.setClickable检查(假);当我使用lv.setEnable(false)时,ListView似乎仍在接收操作,因为它显示了“强制关闭”或“等待”选项(如果我使用了setEnabled(false);它不接受任何输入。但连续按menu会提示我“强制关闭”或“等待”。我只是不想接受任何点击的输入。您的选项1和2不起作用。当listview上发生多次按下/触摸时,它会向我显示“强制关闭”或“等待”选项。我没有尝试选项3。我会检查一下。很好的黑客。与其他大多数解决方案不同,这个解决方案很优雅,而且确实有效。我想我同意你关于它如何工作的解释,尽管我现在不想证明它。