【问题标题】:Android database not working安卓数据库不工作
【发布时间】:2017-01-12 15:12:09
【问题描述】:

在给定的代码中,我的所有 if 都正常工作,但我正在检查 cp1.equals(p1) 是否不工作。甚至 Toast 也没有出现。所以,我尝试评论数据库管理部分,然后 toast 工作。我是安卓新手。请帮忙。我真的不能理解我的错误。

     public void onClick(View view) {

        EditText u = (EditText) findViewById(R.id.username1);
        EditText p = (EditText) findViewById(R.id.password1);
        EditText cp = (EditText) findViewById(R.id.cpassword);
        EditText id=(EditText)findViewById(R.id.id);
        String u1=u.getText().toString();
        String p1=p.getText().toString();
        String e=id.getText().toString();
        String cp1=cp.getText().toString();


        if ((u1.equals("")) || (p1.equals("")) || cp1.equals("")||e.equals("")) {

            Toast.makeText(this, "No field can be left empty!!", Toast.LENGTH_LONG).show();
        }



        if(cp1.equals(p1)){
            Toast.makeText(this,"check",Toast.LENGTH_SHORT).show();

            dbHelper = new DBHelper(this);
            newDB=dbHelper.getWritableDatabase();
            newDB.execSQL("INSERT INTO "+tablename+" VALUES ('"+u1+"', '"+p1+"', '"+e+"' );");
            Toast.makeText(this,"SUCCESSFULLY REGISTERED!",Toast.LENGTH_SHORT).show();
            Intent i = new Intent(register1.this,MainActivity.class);
            startActivity(i);
             }
         if (cp1.equals(p1)==false)
        {

                       Toast.makeText(this,"Confirm PAssword and password fields should be equal",Toast.LENGTH_SHORT).show();
        }
    }
}

【问题讨论】:

  • 尝试写if (!cp1.equals(p1))而不是if (cp1.equals(p1)==false),看看toast是否出现。
  • 尝试 cp1.equalsIgnoreCase(p1) 而不是 cp1.equals(p1)。

标签: java android android-studio if-statement


【解决方案1】:

@shivansh mishra 请检查这个测试代码,它正在工作...cool-:

public void onClick(View view) {

    String u1 = "e";
    String p1 = "b";
    String e = "e";
    String cp1 = "a";    

    if ((u1.equals("")) || (p1.equals("")) || cp1.equals("") || e.equals("")) {    

        Toast.makeText(this, "No field can be left empty!!", Toast.LENGTH_LONG).show();
    }    

    if (u1.equals(e)) {    

        Toast.makeText(this, "equal", Toast.LENGTH_SHORT).show();
    }
    if (cp1.equals(p1) == false) {    

        Toast.makeText(this, "Confirm Password and password fields should be equal", Toast.LENGTH_SHORT).show();    

    }
}

【讨论】:

  • 这个工作正常,但我的有什么问题..?
  • 问题出在我的数据库管理部分。@Dileep Patel
  • @shivansh mishra 这在数据库中没有问题,因为您的数据库在 Toast 之后调用,您可以在 Debug 模式下检查您的代码,请接受我的回答..
【解决方案2】:

它对我来说非常适合.. 只是将 this 更改为 MainActivity.this..(在您的情况下可能不需要).. 但是使用 if-else..它的最佳实践

【讨论】:

    猜你喜欢
    • 2013-05-11
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    相关资源
    最近更新 更多