ListView点击事件冲突和删除一条数据刷新列表

  • 当Item中有button需要点击事件时,与item点击事件冲突

    避免条目中button等空间抢占条目点击事件,只要在item的布局的根布局中,加上以下这个属性:

android:descendantFocusability="blocksDescendants"  
  • listView中嵌套的ListView条目点击事件冲突

    当ListView嵌套时,其条目点击事件都可以触发,但是点击内部listView的条目部分,外部条目事件不会触发,如果为了避免嵌套的ListView抢占外部事件,可将内部listView的点击事件取消掉:

  listview.setClickable(false);
  listview.setPressed(false);
  listview.setEnabled(false);
  • 删除单条数据,刷新列表

    列表中我们经常需要删除单条数据,但是删除后需要刷新数据,经常的做法是去服务器重新请求数据来刷新,但是用户体验不好,我们只需要在删除后,判断是否删除成功然后将删除的位置记录下来,然后再本地数据中把删除的数据移除掉,重新加载一遍就好!

  /**
     * 处理删除记录结果
     */
    private void setDeleteData() {
        ToastUtils.showToast("删除记录项成功!");
        mDatas.remove(mPosition);
        if (mDatas.size() < 10) { //数据不足10条重新请求数据
            getData();
        } else {
            adapter.setData(mDatas);//刷新列表数据
            adapter.notifyDataSetChanged();
        }

    }

猜你喜欢

转载自blog.csdn.net/zane_xiao/article/details/53308371