下拉选择框加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;
        }

    }
}
时间: 2024-10-11 20:28:57

下拉选择框加listview删除的相关文章

基于jQuery美化联动下拉选择框

今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="container"> <div class="inner"> <section id="main_content"

CSS3不一样的下拉选择框

本例中包含两个下拉选择框的动画示例,本例中并未使用select标签.本例中第一个案例也可用于标题.导航栏等位置. 案例一: html布局 <div class="content"> <div class="select"> <p att="select p">所有选项</p> <ul att="select ul"> <li data-value="所

Bootstrap系列 -- 15. 下拉选择框select

Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple.Bootstrap框架会为这些元素提供统一的样式风格 <form role="form"> <div class="form-group"> <select class="form-control"> <option>1</option> <option>2</

下拉选择框改变表单action的简单例子

做了个简单的小例子 用js弄的. form  的代码 1 <form  action=""  method="post" id="formRole"> type的 下拉单 1 2 3 4 5 6 <select name="type" id="type"  onchange="changeAction()">       <option value=&quo

一款javascript实现的超炫的下拉选择框

今天为给大家带来一款javascript实现的超炫的下拉选择框.下拉的列表由半用透明的幽灵按钮组成.显示下拉的时候,列表项由左右两侧飞入.消息时飞向左右两侧.一起看下效果图 在线预览   源码下载 实现的代码. html代码: <div class="scifiUI"> <h1> Scifi Dropdown</h1> <ul> <li>Interactive</li> <li>Animated<

第三章:Select 下拉选择框的练习

1. 练习 Select 下拉选择框的练习. 2. 针对于这样的情况,如何来定位元素: 3. 总结: 看到下拉选择框,标准的 Select 下拉框时,可以选择合适的页面元素来定位.

[jQueryUI] - Chosen:select下拉选择框美化插件及问题【转】

hosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组,同时也可禁用某些选择项. 先来看下插件的效果:   跟这个比起来,原来的select样式是不是弱爆了! 马上来武装我们的select吧: 1.先把js和css文件引用到网页里面去: ? 1 2 3 <link href="js/jqueryUI/chosen/chosen.css" t

bootstrap-表单控件——下拉选择框select元素

1.运行效果如图所示 2.实现代码如下 <!DOCTYPE html> <html> <head>     <meta charset="utf-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <title>表单控件--下拉选择框select元</title>     <!-

jQuery插件——下拉选择框

其实,之前也写过jQuery插件,今天写的是一个模拟select选择的下拉插件. 既然是jQuery插件,那么必然是依赖jQuery的了. 老规矩,直接上代码吧! ;(function () { $.fn.extend({ dropdown:function (options) { return this.each(function (i, val) { $(val).css("position", "relative"); // 设置默认参数 var opts =