Android ListView可点击错误不工作
我想让AndroidAndroid ListView可点击错误不工作,android,listview,Android,Listview,我想让AndroidListView暂时不可点击,直到我的AysncTask完成 所以我用 lv.setClickable(false); 但它不起作用列表视图仍然需要点击。需要帮助。请尝试以下方法: lv.setEnabled(false); 编辑:好的,对不起我的错 我认为问题在于,单击的不是ListView,而是表示ListView中每个项目的视图。所以试试这个: View itemView = lv.findViewTraversal(id_of_your_view); it
ListView
暂时不可点击,直到我的AysncTask
完成
所以我用
lv.setClickable(false);
但它不起作用<代码>列表视图仍然需要点击。需要帮助。请尝试以下方法:
lv.setEnabled(false);
编辑:好的,对不起我的错
我认为问题在于,单击的不是ListView,而是表示ListView中每个项目的视图。所以试试这个:
View itemView = lv.findViewTraversal(id_of_your_view);
itemView.setClickable(false);
我希望这能奏效
setFocusable
/setEnabled
方法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
methodlv.setEnabled(false)
并在postExecute
中再次启用lv.setEnabled(true)代码>我用lv.setClickable检查(假);当我使用lv.setEnable(false)时,ListView似乎仍在接收操作,因为它显示了“强制关闭”或“等待”选项(如果我使用了setEnabled(false);它不接受任何输入。但连续按menu会提示我“强制关闭”或“等待”。我只是不想接受任何点击的输入。您的选项1和2不起作用。当listview上发生多次按下/触摸时,它会向我显示“强制关闭”或“等待”选项。我没有尝试选项3。我会检查一下。很好的黑客。与其他大多数解决方案不同,这个解决方案很优雅,而且确实有效。我想我同意你关于它如何工作的解释,尽管我现在不想证明它。