zoukankan      html  css  js  c++  java
  • 下拉选择框加listview删除

    package com.downselect;
    
    import java.util.ArrayList;
    
    import android.R.array;
    import android.app.Activity;
    import android.graphics.Color;
    import android.graphics.drawable.BitmapDrawable;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.BaseAdapter;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.PopupWindow;
    import android.widget.TextView;
    
    public class MainActivity extends Activity implements OnClickListener {
    
        private EditText edittext;
        private ImageView select;
    
        private ArrayList<String> list = new ArrayList<String>();
        private ListView listview;
        private int popupheight=300;
        private PopupWindow popup;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
    
            initView();
            initListener();
            initData();
        }
    
        private void initView() {
            setContentView(R.layout.activity_main);
            edittext = (EditText) findViewById(R.id.edittext);
            select = (ImageView) findViewById(R.id.select);
    
        }
    
        private void initListener() {
            select.setOnClickListener(this);
    
        }
    
        private void initData() {
    
            for (int i = 0; i < 15; i++) {
                list.add(90000 + i + "");
            }
    
            initlistview();
        }
    
        
        private void initlistview(){
            listview = new ListView(this);
            listview.setBackgroundResource(R.drawable.timeline_card_bottom_background_highlighted);
            listview.setVerticalScrollBarEnabled(false);//不显示滚动条
            
            listview.setOnItemClickListener(new OnItemClickListener() {
    
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                
                    edittext.setText(list.get(position));
                    popup.dismiss();
                }
            });
            
            listview.setAdapter(new ListviewAdapter());
        }
        
        private void showselectlistview(){
            
        
            popup = new PopupWindow(listview, edittext.getWidth()
                    , popupheight);
            
            popup.setFocusable(true);//让其中的view获取焦点
            //还必须设置背景图片
            popup.setBackgroundDrawable(new BitmapDrawable());
            popup.setOutsideTouchable(true);
            
            popup.showAsDropDown(edittext, 0, 0);
            
            
        }
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.select:
                showselectlistview();
                break;
    
            default:
                break;
            }
        }
        
        
        class ListviewAdapter extends BaseAdapter {
    
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return list.size();
            }
    
            @Override
            public Object getItem(int position) {
                // TODO Auto-generated method stub
                return null;
            }
    
            @Override
            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return 0;
            }
    
            @Override
            public View getView(final int position, View convertView, ViewGroup parent) {
                final View view = convertView.inflate(MainActivity.this, R.layout.listitem, null);
                
                TextView text = (TextView) view.findViewById(R.id.text);
                
                ImageView iv_delect = (ImageView) view.findViewById(R.id.iv_delect);
                
                text.setText(list.get(position));
                
                iv_delect.setOnClickListener(new OnClickListener() {
                    
                    @Override
                    public void onClick(View v) {
                        list.remove(position);
                        notifyDataSetChanged();
                        
                        
                        int listheight=view.getHeight()*list.size();
                        popup.update(edittext.getWidth(), listheight>popupheight?
                                popupheight:listheight);
                        
                        if(list.size()==0){
                            popup.dismiss();
                            select.setVisibility(View.GONE);
                        }
                        
                    }
                });
                
                
                return view;
            }
            
        }

    }
  • 相关阅读:
    nginx 配置详解
    ngnix 负载均衡
    nginx 安装搭建与配置介绍
    11.15java实习生面试总结
    笔试题:编写一个用户注册接口
    java第一次笔试+面试总结
    《啊哈算法》读后总结(下)
    java常见排序算法
    Tomcat安装及配置教程
    算法题:购买n个苹果,苹果6个一袋或者8个一袋,若想袋数最少,如何购买?
  • 原文地址:https://www.cnblogs.com/wangying222/p/5468254.html
Copyright © 2011-2022 走看看