Android中如何利用popupwindow显示listview
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"Android中如何利用popupwindow显示listview",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android中如
千家信息网最后更新 2026年11月03日Android中如何利用popupwindow显示listview
这篇文章主要讲解了"Android中如何利用popupwindow显示listview",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android中如何利用popupwindow显示listview"吧!
1、创建一个popupwindow,并设置相应的样式。
Java代码
private void popAwindow(View parent) { if (window == null) { LayoutInflater lay = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = lay.inflate(R.layout.popupwindow, null); v.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_view)); //初始化按钮 submit = (Button) v.findViewById(R.id.submit); submit.setOnClickListener(submitListener); cancel = (Button) v.findViewById(R.id.cancel); cancel.setOnClickListener(cancelListener); //初始化listview,加载数据。 list=(ListView)v.findViewById(R.id.lv); MyAdapter adapter=new MyAdapter(Main.this); list.setAdapter(adapter); list.setItemsCanFocus(false); list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); list.setOnItemClickListener(listClickListener); window = new PopupWindow(v, 500,260); } //设置整个popupwindow的样式。 window.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_pop)); //使窗口里面的空间显示其相应的效果,比较点击button时背景颜色改变。 //如果为false点击相关的空间表面上没有反应,但事件是可以监听到的。 //listview的话就没有了作用。 window.setFocusable(true); window.update(); window.showAtLocation(parent, Gravity.CENTER_VERTICAL, 0, 0); } OnItemClickListener listClickListener = new OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { ViewHolder vHollder = (ViewHolder) view.getTag(); // 在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。 vHollder.cBox.toggle(); MyAdapter.isSelected.put(position, vHollder.cBox.isChecked()); } };给按钮添加监听事件:
Java代码
OnClickListener submitListener = new OnClickListener() { @Override public void onClick(View v) { //这儿可以写提交数据的代码。 closeWindow(); } }; OnClickListener cancelListener=new OnClickListener(){ @Override public void onClick(View v){ closeWindow(); } }; private void closeWindow(){ //将每个checkbox的标记改为false,以便下次弹出window时是初始的状态。 for (int j = 0; j < MyAdapter.isSelected.size(); j++) { MyAdapter.isSelected.put(j, false); ViewHolder vHollder = (ViewHolder) list.getChildAt(j).getTag(); vHollder.cBox.setChecked(false); } //提交数据时关闭popupwindow。 if (window != null) { window.dismiss(); } }在layout中新建popupwindow.xml文件,具体内容如下,主要是对window的布局:
Java代码
新建rounded_corners_pop.xml,用于自定义窗口的样式文件,具体内容如下:
Java代码
这个就可以实现圆角的样式,周围的白边是通过在白的样式上面叠加黑色的来实现的。 其他样式文件大家可以参考上面的rounded_corners_pop.xml自己写。
2、在main.xml中添加按钮,一个用于显示window,一个用于隐藏window
Java代码
在activity中初始化这两个按钮,并添加监听事件:
Java代码
OnClickListener bPop = new OnClickListener() { @Override public void onClick(View v) { popAwindow(v); } }; OnClickListener boff = new OnClickListener() { @Override public void onClick(View v) { if(window!=null){ window.dismiss(); } } };感谢各位的阅读,以上就是"Android中如何利用popupwindow显示listview"的内容了,经过本文的学习后,相信大家对Android中如何利用popupwindow显示listview这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
代码
样式
内容
按钮
事件
数据
文件
学习
状态
空间
监听
两个
作用
同时
圆角
就是
布局
思路
情况
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州淘业互联网络科技
金融科技与互联网金融
互联网前沿科技
科技类的互联网平台
海南科技产业互联网平台
汉立互联网科技有限公司联系电话
互联网科技实习生岗位职责
金融科技与互联网金融相同和不同
湖南诚度互联网科技有限公司
互联网科技商业
坤平互联网科技
呼和浩特新华互联网科技学院
明优互联网科技有限公司
互联网安防科技感
湖北辰鑫科技互联网
版纳互联网科技选哪家
北京军民互联网科技公司
互联网科技对化妆品行业
山东蛋芒互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司
美国互联网科技巨头监管
易互联网科技有限公司
广西互联网科技公司
科技互联网创业计划书
深圳卡尔迅互联网科技有限公司怎么样
滨湖区互联网智能科技产品供应
科技与互联网的利与弊
随着互联网科技发展
互联网对科技的发展
互联网媒体平台算高科技产业