baifaxiaoyao 2012-12-06 03:44 采纳率: 100%
浏览 2271
已采纳

android-测试是否字段是空的,而且防止用户保存到sqlite

显示一个提示,他们必须把字段完全。但是这段代码仍然接受即使名字是null和号码是进入。
我怎么能够测试字段是否被用户填全?我想要显示一个提示,希望他们把字段都填全。但是下边这段代码,即使名字是空的,仍然是接收。

    public void onClick(View arg0)
    {
        switch(arg0.getId())
        {
        case R.id.bSQLUpdate:
            boolean diditwork = true;
            try
            {
            String name = sqlName.getText().toString();
            String number = sqlNumber.getText().toString();

            GroupDb entry = new GroupDb(ContactDb.this);
            entry.open();
            if(name != null && number != null)
            {
                if((!entry.hasDuplicateNameNumber(name, number)) )
                {
                    entry.createEntry(name, number);

                }
                else
                {
                    diditwork = false;
                    Dialog d = new Dialog(this);
                    d.setTitle("Error");
                    TextView tv = new TextView(this);
                    tv.setText("Duplicate name or number. Please try again.");
                    d.setContentView(tv);
                    d.show();
                    sqlName.setText("");
                    sqlNumber.setText("");
                }
            }
            else
            {
                diditwork = false;
                Dialog d = new Dialog(this);
                d.setTitle("Error");
                TextView tv = new TextView(this);
                tv.setText("Please fill up all fields. Please try again.");
                d.setContentView(tv);
                d.show();
                sqlName.setText("");
                sqlNumber.setText("");
            }

            entry.close();
            }
            catch(Exception e)
            {
                diditwork = false;
                String error = e.toString();
                Dialog d = new Dialog(this);
                d.setTitle("Update failed");
                TextView tv = new TextView(this);
                tv.setText(error);
                d.setContentView(tv);
                d.show();
                sqlName.setText("");
                sqlNumber.setText("");
            }
            finally
            {
                if(diditwork)
                {
                    Dialog d = new Dialog(this);
                    d.setTitle("Contact list updated");
                    TextView tv = new TextView(this);
                    tv.setText("Success");
                    d.setContentView(tv);
                    d.show();
                    sqlName.setText("");
                    sqlNumber.setText("");
                }
            }
            break;

        case R.id.bSQLOpenView:
            Intent intent = new Intent();
            intent.setClass(ContactDb.this, CustomListView.class);

            startActivityForResult(intent, 0);
            break;

        }

    }
  • 写回答

2条回答

  • liangchichexin 2012-12-06 05:17
    关注

    用null测试下你的字符串。当文本框是空的时候字符串的名字不是null,它是一个空字符串。所以像下边这个比较一下

    if(!name.trim().equals("") && !number.trim().equals("")){
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题