我无法将edittext中的内容与字符串进行比较

时间:2018-10-07 12:08:36

标签: android

当我将EditText的值与Java中的String var进行比较时,它将用于其他部分。

案例2未执行,每次执行默认案例

sem=(EditText)findViewById(R.id.csem);
sem1=sem.getText().toString();

switch (sem1) {
    case "2":
        c = 1;
        i.putExtra("fees", c);
        startActivity(i);
        break;
    default:
       Toast.makeText(details.this, "Enter valid current sem", Toast.LENGTH_SHORT).show();
  break;

2 个答案:

答案 0 :(得分:1)

由于它是 S 调整,因此您应该使用等于方法进行比较

// Gets the value of the EditText
String value = ((EditText) findViewById(R.id.csem)).getText().toString();

if(value.equals("2")) {
    // Do your things
}

答案 1 :(得分:0)

关于String对象的

switch语句是Java 1.7中引入的新功能。不幸的是,Android需要版本1.6或1.5。这就是为什么您不得不忘记一段时间的这种构造的原因。

通过存储将对某些String:Map执行的方法的映射,可以避免使用if-statements-chain。您总是可以使用一些Handler对象来封装Method。在这里查看更多信息:如何删除大型if-else-if链

why-cant-i-switch-on-a-string