• 实战演练-记账本App (五)


    在使用了记账本APP后发现还存在这一些问题

    1、用户添加账单时如果内容、金额输入为空时不会给出提示,会造成下面这种情况,添加账单后信息显示为空,降低了使用体验

     改动的地方在CostActivity.java文件中,只要添加判断为空的语句即可,代码如下

    //添加
            Button btn2 = (Button) findViewById(R.id.btn2);
            btn2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(final View view) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(CostActivity.this);
                    LayoutInflater inflater = LayoutInflater.from(CostActivity.this);
                    View viewDialog = inflater.inflate(R.layout.new_data, null);
                    final EditText title = (EditText) viewDialog.findViewById(R.id.et_cost_title);
                    final EditText money = (EditText) viewDialog.findViewById(R.id.et_cost_money);
                    final DatePicker date = (DatePicker) viewDialog.findViewById(R.id.dp_cost_date);
                    builder.setView(viewDialog);
                    builder.setTitle("新收入");
                    builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            CostBean costBean = new CostBean();
                            costBean.costTitle = title.getText().toString();
                            costBean.costMoney = money.getText().toString();
                            costBean.costDate = date.getYear() + "-" + (date.getMonth() + 1) + "-" + date.getDayOfMonth();
                            if ( TextUtils.isEmpty(costBean.costTitle) || TextUtils.isEmpty(costBean.costMoney) ) {
                                Toast.makeText(view.getContext(), "请将信息填写完整", Toast.LENGTH_SHORT).show();
                            } else {
                                mDatabaseHelper.insertCost(costBean);
                                Toast.makeText(view.getContext(), "添加成功", Toast.LENGTH_SHORT).show();
                                mCostBeanList.add(costBean);
                                mAdapter.notifyDataSetChanged();
                            }
                        }
                    });
                    builder.setNegativeButton("取消", null);
                    builder.create().show();
                }
            });
        }

    在IncomeActivity.java文件中也是相同的改法

    当输入为空或不完整时会给出提示。

    2、用户无法进行单一删除

     改动的地方在CostActivity.java文件中,添加长按触发事件进行删除即可,代码如下

     //长按删除
            costList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                    AlertDialog.Builder b = new AlertDialog.Builder(CostActivity.this);
                    //设置提示框内容
                    b.setMessage("确认删除?");
                    //设置标题栏
                    b.setTitle("提示");
                    b.setPositiveButton("确认", new DialogInterface.OnClickListener() {
    
                        public void onClick(DialogInterface dialog, int which) {
                            mCostBeanList.remove(position);
                            mAdapter.notifyDataSetChanged();
                            Toast.makeText(CostActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
                        }
                    }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(CostActivity.this, "删除失败", Toast.LENGTH_SHORT).show();
                            dialog.dismiss();
                        }
                    });
                    b.create().show();
                    return true;
                }
                });

    长按某一账单后弹出提示框

     在IncomeActivity.java文件中也是相同的方法。

  • 相关阅读:
    Captura
    食用Win系统自带的PowerShell登录服务器
    uTools
    图片镜像缓存服务
    博客园自定义网站ico
    超星图床
    教程翻译-理解基于矢量场寻路算法
    CentOS防火墙命令
    CentOS7的vsftpd安装和配置
    Unity网路编程-TCP实现细节备忘
  • 原文地址:https://www.cnblogs.com/MoooJL/p/12307370.html
Copyright © 2020-2023  润新知