栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android下拉框PopupWindow使用详解

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android下拉框PopupWindow使用详解

本文实例为大家分享了Android下拉框PopupWindow展示的具体代码,供大家参考,具体内容如下

activity_main.xml布局






List_item.xml布局










代码实现

public class MainActivity extends ActionBarActivity {

private EditText et_editText;//编辑框
private ImageView down;//下拉按钮
private ListView listView;
private List numList;
private PopupWindow popWin; 
private Boolean isDown=false;//判断弹窗是否显示 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); 
et_editText = (EditText) findViewById(R.id.et_editText);
down = (ImageView) findViewById(R.id.down);
//创建集合 储存号码
numList = new ArrayList();
for(int i=0;i<20;i++){
numList.add("100000000"+i);
} 
initListView();
//对下拉按钮设置监听 当进行点击时 弹出popWin
down.setonClickListener(new onClickListener() { 
@Override
public void onClick(View v) {
if(!isDown){
//定义一个popupWindow
popWin=new PopupWindow(MainActivity.this);
popWin.setWidth(et_editText.getWidth());//设置宽度 和编辑框的宽度相同
popWin.setHeight(200); //设置高度
//为popWin填充内容
popWin.setContentView(listView);
//点击popWin区域之外 自动关闭popWin
popWin.setOutsideTouchable(true);

popWin.showAsDropDown(et_editText, 0, 0);
isDown=true;
}else{
popWin.dismiss();
isDown=false;
}
}
});
}
//点击返回按钮
@Override
public void onBackPressed() {

if(popWin!=null&&popWin.isShowing()){
popWin.dismiss();
}
super.onBackPressed();
}
private void initListView() {
listView = new ListView(this);
//设置listView的背景
listView.setBackgroundResource(R.drawable.listview_background);
//设置条目之间的分割线及滚动条不可见
listView.setDivider(null);
listView.setVerticalScrollBarEnabled(false);
//设置适配器
listView.setAdapter(new MyListAdapter());
}
private class MyListAdapter extends baseAdapter{
@Override
public int getCount() {
return numList==null?0:numList.size();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null){
convertView=View.inflate(getApplicationContext(), R.layout.list_item, null);
holder=new ViewHolder();
holder.tvNum=(TextView) convertView.findViewById(R.id.tv_list_item);
holder.delete=(ImageView) convertView.findViewById(R.id.delete);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}
holder.tvNum.setText(numList.get(position));
//对删除按钮设置监听事件
holder.delete.setonClickListener(new onClickListener() { 
@Override
public void onClick(View v) {
//当点击删除按钮时 删除条目
numList.remove(position);
//刷新ListView
MyListAdapter.this.notifyDataSetChanged();
}
});
//对条目设置监听事件 点击条目后 将num设置到编辑框中
convertView.setonClickListener(new onClickListener() { 
@Override
public void onClick(View v) {
//点击条目后 将num设置到编辑框中
et_editText.setText(numList.get(position));
popWin.dismiss();
}
});
return convertView;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}

private class ViewHolder {
TextView tvNum;
ImageView delete;
}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/157531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号