我想让 AndroidListView
不可点击一段时间,直到我AysncTask
完成。
所以我用
lv.setClickable(false);
Run Code Online (Sandbox Code Playgroud)
但它不起作用。ListView
仍然需要点击。需要帮忙。
对我有用的是在 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>
Run Code Online (Sandbox Code Playgroud)
我不确定为什么会这样,尽管这是我的猜测:
仅使用 clickable 属性不起作用,因为尽管 LinearLayout 不可点击,但其中的子项仍然可以点击。然后孩子们得到点击事件但不使用它并将其转发到 LinearLayout。
通过使 LinearLayout 可聚焦,它现在将获取点击事件,然后将其删除,因为它不可点击。
希望这可以帮助。如果有人确切知道为什么这种方法有效,请加入。
归档时间: |
|
查看次数: |
4426 次 |
最近记录: |