Android开发使用Spinner更新ListView

Android中通过Spinner监听更新ListView中item

在实际安卓开发中可能遇到这种问题,选择Spinner更新ListView实现筛选功能,分享如下:
在这里插入图片描述

 productSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            String str = parent.getItemAtPosition(position).toString();//将Spinner选中的item转化为字符串
            if(!str.equals("请选择设备")){
				Toast.makeText(mContext, "你选择了:"+ str, Toast.LENGTH_SHORT).show();
                }
                ArrayList changeList = new ArrayList();//创建一个临时列表
                update();//更新数据
                changeList.clear();//清空List避免重叠
                if(!str.equals("请选择设备")){
 					for(int i = 0;i < homeAdapter.getCount();i++){//遍历所有数据,找到与Spinner相同的item
                        if(str.equals(homeAdapter.getItem(i).getProductname())){
                            changeList.add(homeAdapter.getItem(i));//存放选择的Spinneritem
                            changeAdapter.setData(changeList);//通过适配器更新Listview
                            homelistView.setAdapter(changeAdapter);//更新筛选后的ListView
                        }
                    }
                }else{
                    homelistView.setAdapter(homeAdapter);//更新整个列表
                }
            }


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值