Android中如何利用popupwindow显示listview
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要讲解了"Android中如何利用popupwindow显示listview",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android中如
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
安卓pda开发常用数据库
网络技术路由表
京东用的是哪一家的云计算服务器
ormlite数据库在哪
mysql模拟百万数据库
软件开发费入主营业务成本
绝地求生购买东西连接服务器错误
软件开发校招面试常问问题
恢复服务器硬盘数据库价格行情
电厂网络安全ppt
租一个数据库
为什么要有空间数据库引擎
数据库应用系统案例库
网络安全与信息化发展的论文
关于网络安全的校园广播
系统安全服务器地址
软件开发用i5-6500
嵌入式软件开发难度大吗
爱多特网络技术倒闭
企石软件开发
华为通用软件开发本科生
网络安全龙头华为
精准数据库营销教程
安卓软件开发和web
魔兽世界一个角色无法连接服务器
公共卫生公益热线显示服务器出错
网吧服务器怎么启动
fw在网络安全上的意思
辽宁语音网络技术服务
网络安全防诈骗活动内容