2012-03-24 32 views
0

なぜこれでそんなに苦労しているのか分かりません。私はYouTubeからArrayListにビデオIDを拝借しています。私はカップルを削除する必要があります。私はこれを取り除くためにいくつかの異なる方法を試しましたが、それらのどれもは動作しません。ArrayListから項目を一致させて削除する

は、これはその後、私はまた、動作しません

int i = 0; 
while (i < allMatches.size()) { 
    if (allMatches.get(i) == "default.jpg") { 
     allMatches.remove() 
    } 
    i++; 
} 

を試してみてください、私は

while (m.find()) { 
    if (m.group(0) == "default.jpg") 
     //Do nothing 
    } else { 
     allMatches.add(m.group(0)); 
     count++; 
    } 
} 

を持っているものです。最後に、画像を設定するときにこれを試してみます

if (allMatches.get(position).toString() == "default.jpg") { 
    allMatches.remove(position);     
    bitmap = null; 
} 

なぜこれらのどれも動作しないのですか? default.jpgは、gridviewから削除されていないので、確実にピックアップされています。

また、「default.jpg」と「video?view」を選択して次の式を停止する方法を知っている人は、あなたの提案を聞いてみたいです。

String expr = "(?<=v=)[a-zA-Z0-9-_]{11}(?=&)| 
    (?<=[0-9]/)[^&\n]{11}|(?<=v=)[^&\n]{11}"; 

答えて

3

使用は.equals

if (allMatches.get(position).toString().equals("default.jpg")) { 
    } 

は、それが動作してはいけない,, element....

+0

それは素晴らしいです。乾杯 – CitizenSmif

0

であなたのallMatchesリストの配列を投稿する場合は、Javaで文字列を比較で間違っている可能性があります。 javaの文字列はオブジェクトです。それらは==オペレータと比較されるべきではありません。あなたが実際に参照していない値を比較==方法を使用して文字列を比較すると

"default.jpg".equals(allMatches.get(i)) 

:あなたのケースでは

str1.equals(str2) 

:equalsメソッドを使用します。

0

あなたは「==」あなただけ「==」文字列には、メモリアドレスではない実際の文字列値を比較している明確にするstring.equals("stringtomatch")

を使用しなければならないとJavaで文字列を比較することはできません。したがって、 "=="を使用することはできますが、期待している値にはなりません。

関連する問題