【安卓开发】借助setOnItemClickListener动态更新Listview

这个博客展示了如何在Android应用中实现删除列表项的功能。当用户点击删除按钮时,对应的列表项从数据源移除,并且使用适配器的`notifyDataSetChanged()`方法更新ListView,使得列表实时显示变化。此外,还提供了取消和确认删除的操作处理。
摘要由CSDN通过智能技术生成

当点击删除按钮时,该列表项被删除,并且更新后的列表实时显示。

public class DeleteCityActivity extends AppCompatActivity implements View.OnClickListener{
    ImageView errorIv,rightIv;
    ListView deleteLv;
    String[] hotCitys = {"北京","上海","广州","深圳","珠海","佛山","南京","苏州","厦门","长沙","成都","福州",
            "杭州","武汉","青岛","西安","太原","沈阳","重庆","天津","南宁"};
    List<String> mDatas=new ArrayList<>();//列表数据源
    List<String>deleteCitys=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_delete_city);
        deleteLv = findViewById(R.id.delete_lv);//找到组件
        errorIv=findViewById(R.id.delete_iv_error);
        rightIv=findViewById(R.id.delete_iv_right);
        //传入数据
        mDatas = new ArrayList<>();
        for(String s:hotCitys){
            mDatas.add(s);
        }
       //设置监听事件
        errorIv.setOnClickListener(this);
        rightIv.setOnClickListener(this);
        //设置适配器
        DeleteCityAdapter baseAdapter = new DeleteCityAdapter(this, mDatas, deleteCitys);
        deleteLv.setAdapter(baseAdapter);
        deleteLv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int pos, long id) {
                TextView deletecity=view.findViewById(R.id.item_delete_tv);//找到点击的textview
                String cityname=deletecity.getText().toString().trim();//城市名
                System.out.println(pos+cityname);//找到位置
                mDatas.remove(cityname);
                deleteCitys.add(cityname);
                baseAdapter.notifyDataSetChanged();
                for(String tt:deleteCitys){
                    System.out.println("删除了"+tt+"\n");
                }
            }
        });
    }
    public void cancel(View view){
        Toast.makeText(this,"跳转到城市管理页面",Toast.LENGTH_LONG).show();
    }
    public void ok(View view){
        String tmp="";
        for(String s:deleteCitys)
            tmp=tmp+s+" ";
        Toast.makeText(this,"跳转到城市管理页面\n"+"删除了"+tmp,Toast.LENGTH_LONG).show();
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.delete_iv_error:
                cancel(view);
                break;
            case R.id.delete_iv_right:
                ok(view);
                break;
        }
    }
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆沙睡不醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值