我在 android listview 中设置了 Enabled false 但 listview 不滚动

Posted

技术标签:

【中文标题】我在 android listview 中设置了 Enabled false 但 listview 不滚动【英文标题】:i have set Enabled false in android listview but listview not scrolling 【发布时间】:2019-02-05 02:18:43 【问题描述】:

我在 android 中使用 listview 多选。我想禁用 listview 可点击并设为 false。我试图设置setEnabled(false) 它正在工作,但列表视图没有滚动。我的条件是只有特定用户可以选中和取消选中这些项目。

if (mycondition == true) 
   listview.setEnabled(false);

【问题讨论】:

您可以从适配器内的 list_row 中实现它。 您禁用 listview 触摸事件。所以使用适配器并执行 itemView.setEnabed(false) 我正在使用简单的数组适配器 membersList.setChoiceMode(membersList.CHOICE_MODE_MULTIPLE); membersList.setAdapter(new ArrayAdapter(Meeting.this, android.R.layout.simple_list_item_checked, memberCheckedList)); 我建议对所有与列表/网格相关的内容尝试 RecyclerView 【参考方案1】:

由于您没有共享任何代码,我假设这就是您想要做的。不要通过添加 membersList.setEnabled(false); 来禁用整个 ListView

mArrayAdapter = new ArrayAdapter(new ArrayAdapter<String>(Meeting.this, android.R.layout.simple_list_item_checked, memberCheckedList));
membersList.setAdapter(mArrayAdapter);


membersList.setOnItemClickListener(new AdapterView.OnItemClickListener() 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) 

            View itemView = (View) mArrayAdapter.getItem(position);
            if (itemView != null) 
                itemView.setEnabled(false);
            
        
    );

【讨论】:

兄弟我只是想禁用一些用户可点击的列表视图..就是这样 当我实现 View.. 我收到此错误“不可转换的类型,无法将 java.lang.String 转换为 android.view.View” 然后创建自定义 ItemView 和适配器。我认为这很容易。

以上是关于我在 android listview 中设置了 Enabled false 但 listview 不滚动的主要内容,如果未能解决你的问题,请参考以下文章

android点击通知打开listview的笔记

Android Studio:如果您设置项目的背景颜色,ListView OnClick 动画将不起作用

如何检测何时在 Android 中设置了新警报

如何在 android listview 中设置页脚以动态拉伸到底部?

我在我的 Rails 应用程序中设置了 CORS,但我仍然收到错误 [重复]

NSURLSession 发送 GET 请求,即使我在 HTTPMethod 中设置了 POST