0

这是我的光标代码,我感到困惑的是如何继续检查每个值并根据计算使我的布尔值 x 为真或假:

  private boolean fillData() {
       Cursor c = DBHelper.fetchAllIDs();
       // List<String> idList = new ArrayList<String>();
       if (c.moveToFirst()) {
        do {
            String X = (c.getString(c.getColumnIndexOrThrow("IDno")));
            Toast.makeText(getApplicationContext(), "" +X, Toast.LENGTH_LONG).show();
            if (Idno.getText().toString().equals(X));
            {
                Toast.makeText(getApplicationContext(),   ""+Idno.getText().toString(), Toast.LENGTH_LONG).show();
                x=true;
            }
        } while (c.moveToNext());


       }
      return x;
   }
4

1 回答 1

0
  1. x在光标上循环之前设置为 false。

    private boolean fillData() {
        boolean x = false;
    
        // ...
    
    }
    
  2. 替换以下代码:

    if (Idno.getText().toString().equals(X));
    {
        Toast.makeText(getApplicationContext(),   ""+Idno.getText().toString(), Toast.LENGTH_LONG).show();
        x=true;
    }
    

    有了这个:

    if (Idno.getText().toString().equals(X))
    {
        Toast.makeText(getApplicationContext(),   ""+Idno.getText().toString(), Toast.LENGTH_LONG).show();
        x=true;
        break;
    }
    

    注意
    ;从语句的末尾删除了,并在块的末尾if添加了一个语句。breakif

于 2012-10-07T07:26:03.400 回答