0

カンマ区切りの文字列の形式でデータベースから場所の名前を取得しています。この文字列を、入力した場所の名前を含む文字列のArrayListと比較して、入力した場所の名前がデータベースの場所の名前と同じかどうかを確認しています。これを行うために、私は以下のコードを使用しています。しかし、それは機能していないようです。どうすればいいのでしょうか。equals()も使用しましたが、うまく機能していません。

String loc =DataHelperdh.getLocationList(id); // loc holds the comma separated locations

for (int i2 = 0; i2 < locationList.size(); i2++)
{                               
  if(locationList.get(i2)==null || locationList.get(i2).equals(""))continue;
      String str1 =loc.toString();
      int result = str1.indexOf(locationList.get(i2));
      if(result > -1){  
          Toast.makeText(getApplicationContext(), "Locations with same name cannot exist same", Toast.LENGTH_LONG).show();
          break;
   }
}
4

1 に答える 1

0

str1非常にありそうもないリスト全体が含まれているかどうかを確認します。あなたがそれを好転させるならば、それはうまくいくはずです。

String loc = DataHelperdh.getLocationList(id); // loc holds the comma separated locations

for (int i2 = 0; i2 < locationList.size(); i2++) {
  String test = locationList.get(i2);                        
  if(test == null || test.isEmpty()) continue;
  int result = loc.indexOf(test);
  if(result > -1) {  
    Toast.makeText(getApplicationContext(), "Locations with same name cannot exist same", Toast.LENGTH_LONG).show();
    break;
  }
}
于 2012-04-26T13:29:13.747 に答える