Android 在禁用 ListView 后启用列表项

标签 android listview android-view listitem viewgroup

我有一个 BaseActivity,它扩展了 Activity,所有其他 Activity 都扩展了这个 BaseActivity

我所做的是在我的应用程序状态下,我想从 BaseActivity 禁用屏幕上的所有项目,然后使用以下代码再次启用它们:

private void DisableChildClickEvents(ViewGroup viewGroup, boolean enabled) {
    for (int i = 0; i < viewGroup.getChildCount(); i++) {
        View childView = viewGroup.getChildAt(i);
        childView.setClickable(enabled);
        childView.setEnabled(enabled);
        if (childView instanceof ViewGroup) {
            DisableChildClickEvents((ViewGroup)childView, enabled);
        }
    }
}

我在其中一个 Activity 中有一个 ListView 的问题,这段代码禁用了它并且所有点击它的项目,但它不能再次点击它们。哪个 ListItem 显示它可以被点击并且在点击时它的颜色会发生变化,但是在禁用它们之后无法访问应该执行的操作。

最佳答案

试试这个:

if (childView instanceof ListView) {
               if (enabled == true) {
                   ListView list = (ListView) childView;
                   list.getOnItemClickListener();
               }

关于Android 在禁用 ListView 后启用列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870311/

相关文章:

java - ListView OnItemClickListener 不适用于 LazyAdapter ListView

JavaFX ObservableList 更改不更新 ListView

android - 有没有办法在android中使用ObjectAnimator为View创建倾斜动画

Android:以编程方式查看.setID(int id) - 如何避免 ID 冲突?

选项卡内的 Android Scrollview 未显示所有内容

java - 为什么我的第三首歌没有播放,我怎样才能让它播放?

java - 如何在 Kitkat Android 中将图像从一个 Activity 发送到另一个 Activity ?

android - 联系 API 时出错,com.google.android.gms.tasks.RuntimeExecutionException :com. google.android.gms.api.ApiException:13:错误

java - 使用子字符串搜索过滤 ListView

android - ContentLoadingProgressBar 的示例用法