【问题标题】:i have set Enabled false in android listview but listview not scrolling我在 android listview 中设置了 Enabled false 但 listview 不滚动
【发布时间】: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

标签: android listview scroll disable


【解决方案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 和适配器。我认为这很容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多