java – 使用longClick的ListView显示和隐藏Checkbox?

前端之家收集整理的这篇文章主要介绍了java – 使用longClick的ListView显示和隐藏Checkbox?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我沿着code here (weblink).阅读并且代码已被修改了一点,变成这样:

FileArrayAdapter.java

  1. public class FileArrayAdapter extends ArrayAdapter

还有我到目前为止做的另一个目标:

Item.java

  1. public class Item implements Comparable

列表布局有点定制如下:
listupload_row.xml

我的问题是:

我知道如果我想放置CheckBox,那么我应该把它放在XML(布局)下面.
但我的情况是,我想让longClick可用于显示CheckBoxes.
怎么做?

如果我只是在下面添加这个代码,当然它会将ListView设置为onLongClick事件….

  1. dList.setLongClickable(true);
  2. dList.setOnItemLongClickListener(new OnItemLongClickListener() {
  3. public boolean onItemLongClick(AdapterViewBox of each lines
  4. return true;
  5. }
  6. });

但是为了让它一旦亮起执行,我如何展示ComboBox?反之亦然….

最佳答案
一种可能的解决方案是隐藏/显示复选框,该复选框基于当项目收到长按时切换的标志.
在适配器的getView方法中执行以下操作:

  1. @Override
  2. public View getView(int position,ViewGroup parent) {
  3. ...
  4. if(showCheckBoxes) {
  5. v.findViewById(R.id.checkBox).setVisible(View.VISIBLE);
  6. } else {
  7. v.findViewById(R.id.checkBox).setVisible(View.GONE);
  8. }
  9. ...
  10. }

然后在你的长按监听器中:

  1. dList.setOnItemLongClickListener(new OnItemLongClickListener() {
  2. public boolean onItemLongClick(AdapterViewBoxes = !showCheckBoxes;
  3. fileArrayAdapter.notifyDataSetChanged();
  4. return true;
  5. }
  6. });

猜你在找的Android相关文章