关于listview记录

<span style="font-size:24px;">隐藏listview的滚动条
android:scrollbars="none"
设置项目间的分割线
android:diviver=“@android:color/xxx”
android:dividerHeight="1dp"
取消listview的item点击效果
android:listSelector="#00000000"或android:listSelector="@android:color/transparent"
设置listview显示到第几个item
listView.setSelection(0);或者listView.smoothScrollBy(distance,duration);或listView.smoothScrollByOffset(offset);或listView.smoothScrollToPosition(index);
处理空的listView
<FrameLayout>
<ListView/>
<TextView
android:id=@+id/tv
/>
</FrameLayout>
listView.setEmptyView(tv);
listview中的item中的button点击事件失效
在listview的item跟布局中 添加
android:descendantFocusability="blocksDescendants"

listview中item包含checkbox,实现多选功能代码如下:
//listView item点击事件 接口回调  将多选的门店  返给MainActivity
@Override
public void getcheckedList(List<StoresalerBean.ItemsEntity> clickList) {
    Intent intent=new Intent(mContext,FavorableUploadActivity.class);
    intent.putExtra("clickList", (Serializable) clickList);
    ChooseShopFavorableActivity.this.setResult(3, intent);
    ChooseShopFavorableActivity.this.finish();
}
@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.tv_search_shop://确定
            mAdapter.setGetCheckedListener(this);
           break;
    }
}

public class ChooseStoreSalerAdapter extends BaseAdapter {
    private Context mContext;
    private List<StoresalerBean.ItemsEntity> list;
    // 用来控制CheckBox的选中状况
    public static HashMap<Integer, Boolean> isSelected = new HashMap<Integer, Boolean>();
    public List<StoresalerBean.ItemsEntity> clickList;
    private ViewHolder viewHolder;
    private GetCheckedListener mGetCheckedListener;

    public ChooseStoreSalerAdapter(Context cxt, List<StoresalerBean.ItemsEntity> list) {
        this.mContext = cxt;
        this.list = list;
        clickList= new ArrayList<StoresalerBean.ItemsEntity>();

    }

    @Override
    public int getCount() {
        if (list == null) {
            return 0;
        } else {
            return list.size();
        }
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if (view == null) {
            viewHolder = new ViewHolder();
            view = LayoutInflater.from(mContext).inflate(R.layout.list_shop, null);
            viewHolder.rl_main = (LinearLayout) view .findViewById(R.id.rl_main);
            viewHolder.tvItem = (TextView) view.findViewById(R.id.tv_list_market_name);
            viewHolder.tvSelect = (CheckBox) view.findViewById(R.id.rb_choose_brand);
            view.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) view.getTag();
        }
        initData(i, viewHolder);
        return view;
    }

    private void initData(final int i, final ViewHolder viewHolder) {
        viewHolder.tvSelect.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                                         boolean isChecked) {
                // TODO Auto-generated method stub
                if(isChecked) {
                    isSelected.put(i, isChecked);
                    if (!clickList.contains(list.get(i))) {
                        clickList.add(list.get(i));
                    }
                    viewHolder.tvSelect.setBackgroundResource(R.mipmap.ic_choose_ok);

                }else{
                    isSelected.remove(i);
                    clickList.remove(list.get(i));
                    viewHolder.tvSelect.setBackgroundColor(Color.parseColor("#00000000"));
                }
            }
        });
        viewHolder.tvSelect.setChecked(isSelected.get(i)==null? false : true);
        viewHolder.tvItem.setText(list.get(i).getName());

        viewHolder.rl_main.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (viewHolder.tvSelect.isChecked()) {
                    isSelected.remove(i);
                }else{
                    isSelected.put(i, true);
                }
                viewHolder.tvSelect.setChecked(isSelected.get(i)==null? false : true);
            }
        });
    }


    public void setGetCheckedListener(GetCheckedListener mGetCheckedListener) {
        this.mGetCheckedListener = mGetCheckedListener;
        if (mGetCheckedListener != null){
            mGetCheckedListener.getcheckedList(clickList);
        }
    }

    public interface GetCheckedListener{
        public void getcheckedList(List<StoresalerBean.ItemsEntity> clickList);
    }


    public  static class ViewHolder {
        public TextView tvItem;
        public CheckBox tvSelect;
        public LinearLayout rl_main;
    }

}
MainActivity中
case R.id.select_shop://选择门店
    Intent intent=new Intent(mContext, ChooseShopFavorableActivity.class);
    intent.putExtra("targetId",targetId);
    startActivityForResult(intent, 3);


    break;

/**
 * 图片选择及拍照结果
 */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Uri uri = null;
    switch (requestCode) {
        case PHOTOZOOM:// 相册
            if (data == null) {
                return;
            }
            uri = data.getData();
            path= getImageAbsolutePath(this,uri);
            Intent intent3 = new Intent(mContext, UserRectClipHead.class);
            intent3.putExtra("path", path);
            Log.i("x选择图片", path + "");
            startActivityForResult(intent3, IMAGE_COMPLETE);
            break;
        case PHOTOTAKE:// 拍照
            path = photoSavePath + photoSaveName;
            uri = Uri.fromFile(new File(path));
            Intent intent2 = new Intent(mContext, UserRectClipHead.class);
            intent2.putExtra("path", path);
            startActivityForResult(intent2, IMAGE_COMPLETE);
            break;
        case IMAGE_COMPLETE:
            final String temppath = data.getStringExtra("path");
            Intent intent = new Intent();
            intent.putExtra("path", temppath);
            setResult(0, intent);
            try {
                mDialog.show();
                postFile(temppath);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            add_img.setImageBitmap(BitmapUtils.UrlToBitmap(temppath));
            break;
        case 3://选择门店 返回结果
            Log.i("storeList-----", "---选择门店 返回结果---");
            if (data!=null){
                storeList=(List<StoresalerBean.ItemsEntity>)data.getSerializableExtra("clickList");
                MarketTextAdapter adapter=new MarketTextAdapter(mContext,storeList);
                lv_shop.setAdapter(adapter);
                adapter.notifyDataSetChanged();
                storeIds=new ArrayList<Integer>();
                if (storeList!=null){
                    for (int i=0;i<storeList.size();i++){
                        storeIds.add(storeList.get(i).getId());
                    }
                }
            }

            break;
    }
    super.onActivityResult(requestCode, resultCode, data);
}


</span>


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值