java - if/else 语句在 android 应用程序中不起作用(else 语句始终执行)

标签 java android

我正在编写一个应用程序,它接受两个用户输入并将它们与存储在数据库中的数据相匹配,并在 TextView 中显示来自用户输入的相应数据(行)。

如果条件为真,则 if 语句可以单独运行。但是,如果我添加 else 语句,即使条件为真,它也不会执行。

如果语句为真或假,则始终执行 else 语句

protected void onPostExecute(Void v) {
    // ambil data dari Json database
    try {
        JSONArray Jarray = new JSONArray(result);
        for (int i = 0; i < Jarray.length(); i++) {
            JSONObject Jasonobject = null;
            //text_1 = (TextView)findViewById(R.id.txt1);
            Jasonobject = Jarray.getJSONObject(i);

            //get an output on the screen
            //String id = Jasonobject.getString("id");
            String name = Jasonobject.getString("name");
            String db_detail="";

            if (et.getText().toString().equalsIgnoreCase(name)) {
                db_detail = Jasonobject.getString("detail");
                text.setText(db_detail);
                break;
            } else {
                Toast.makeText(MainActivity.this, "Not available", Toast.LENGTH_LONG).show();
                break;
            }
        }
        this.progressDialog.dismiss();

最佳答案

你永远不会完全在 Jarray 上循环。如果第一次迭代 et.getText().toString().equalsIgnoreCase(name) 为 false,并且执行了 else 分支,您将立即中断

try {
   JSONArray Jarray = new JSONArray(result);
   for(int i=0;i< Jarray.length(); i++) {
      // other code
      if(et.getText().toString().equalsIgnoreCase(name)) {
            db_detail = Jasonobject.getString("detail");
            text.setText(db_detail);
            break;
      }
   }
   if (TextUtils.isEmpty(db_detail)) {
      // show toast
   }
 }

关于java - if/else 语句在 android 应用程序中不起作用(else 语句始终执行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31761525/

相关文章:

java - 使用 spel 访问 spring 注释中的静态变量

java - Kotlin 中带有 val 的 @Embeddable 类

java - Android:在内部存储中保存两个同名的位图

javascript - 如何从java返回数据到javascript?

Java SnakeYaml - 防止转储引用名称

java - 如何访问自定义标签中foreach标签中的var变量?

java - 为什么我不能用 "new"关键字在 Java 中创建颜色?

android - 在我的 VectorDrawable 图像周围创建细矩形边框线

Android:Espresso,在层次结构中找不到匹配的 View

java - 在 Eclipse 的 Android 项目中保存文本文件的位置