android开发一些好用的小知识

//取出Arraylist的重复

/**
     * 定义一个去除arrayList的方法.
     */
    public List<String> getNewList(List<String> li) {
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < li.size(); i++) {
            String str = li.get(i); // 获取传入集合对象的每一个元素
            if (!list.contains(str)) { // 查看新集合中是否有指定的元素,如果没有则加入
                list.add(str);
            }
        }
        return list; // 返回集合
    }

//调用方法

treeList = (ArrayList<String>) getNewList(treeList);



//绑定listview

areamanagementlistview = (ListView) findViewById(R.id.areamanagement_listview);
        // 为所有的条目注册上下文菜单ContextMen
        registerForContextMenu(areamanagementlistview);// 注册上下文菜单


 @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {//上下文菜单中按钮
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, ITEM1, 0, "添加");
        menu.add(0, ITEM2, 0, "删除");
        menu.add(0, ITEM3, 0, "重命名");
    }

  /**
     * 通过长按条目激活上下文菜单
     */


    // 上下文菜单菜单单击事件
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();//listview里的数据
        content_area1 = adapter.getItem(menuInfo.position).toString();//点击当前项目
        HashMap<String, String> content_area1 = (HashMap<String, String>) adapter.getItem(menuInfo.position);//将listview里的数据放进HashMap中


        // 遍历HashMap,找到想要的值
        Set set = content_area1.entrySet();
        Iterator itor = set.iterator();// 遍历的类
        while (itor.hasNext()) {// 存在下一个值
            HashMap.Entry entry = (HashMap.Entry) itor.next();//
            // 找到所有key-value对集合
            if (entry.getKey().equals("AreaNameId")) {//
                // 获取value值与所知道的value比较
                strAreaNameID = entry.getValue().toString().trim();// 取得key值
                System.out.println("我要找的区域编号 :" + strAreaNameID);
            }
            if (entry.getKey().equals("AreaName")) {//
                // 获取value值与所知道的value比较
                strAreaName = entry.getValue().toString().trim();// 取得key值
                System.out.println("我要找的区域名 :" + strAreaName);
            }
        }




        switch (item.getItemId()) {
            case ITEM1:
                // 加载输入框的布局文件
                LayoutInflater inflater = (LayoutInflater) AreaManagementActivity.this
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                final LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.customdialog_add, null);


                // 弹出的对话框


                new AlertDialog.Builder(AreaManagementActivity.this)
                    /* 弹出窗口的最上头文字 */
                        // .setTitle("添加一条数据")
                    /* 设置弹出窗口的图式 */
                        .setIcon(android.R.drawable.ic_dialog_info)
                    /* 设置弹出窗口的信息 */
                        .setMessage("请输入区域名称").setView(layout)
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialoginterface, int i) {


                                EditText inputStringr = (EditText) layout.findViewById(R.id.customdialog_add_text);


                                strinputStringr = inputStringr.getText().toString();


                                if (strinputStringr == null || strinputStringr.equals("")) {


                                    Toast.makeText(getApplicationContext(), "添加的内容不能为空", Toast.LENGTH_SHORT).show();
                                } else {

                                }


                            }
                        }).setNegativeButton("取消", new DialogInterface.OnClickListener() { /* 设置跳出窗口的返回事件 */
                    public void onClick(DialogInterface dialoginterface, int i) {
                    }
                }).show();
                break;
            case ITEM2:


                new AlertDialog.Builder(this)


                        .setMessage("你确定要删除这条记录吗")// 设置显示的内容


                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {// 添加确定按钮


                            @Override


                            public void onClick(DialogInterface dialog, int which) {// 确定按钮的响应事件
                            


                            }


                        }).setNegativeButton("取消", new DialogInterface.OnClickListener() {// 添加返回按钮


                    @Override


                    public void onClick(DialogInterface dialog, int which) {// 响应事件


                    }


                }).show();// 在按键响应事件中显示此对话框


                break;
            case ITEM3:
                // 加载输入框的布局文件
                LayoutInflater inflater1 = (LayoutInflater) AreaManagementActivity.this
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                final LinearLayout layout1 = (LinearLayout) inflater1.inflate(R.layout.customdialog_add, null);


                // 当前listivew的id
                AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();
                id = (int) menuInfo.id;
                if (-1 == id) {
                    super.onContextItemSelected(item);
                }


                // 弹出的对话框


                new AlertDialog.Builder(AreaManagementActivity.this).setIcon(android.R.drawable.ic_dialog_info)
                    /* 设置弹出窗口的信息 */
                        .setMessage("请输入区域").setView(layout1)
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialoginterface, int i) {


                                EditText inputStringr = (EditText) layout1.findViewById(R.id.customdialog_add_text);


                                string_rename = inputStringr.getText().toString().trim();




                                }
                            }
                        }).setNegativeButton("取消", new DialogInterface.OnClickListener() { /* 设置跳出窗口的返回事件 */
                    public void onClick(DialogInterface dialoginterface, int i) {
                    }
                }).show();
                break;
        }
        return true;
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值