2013-09-23 30 views
0

我做了一個簡單的android演示程序綁定到一個字符串的單詞,然後用它們發送電子郵件,所以我希望他們都是唯一的(沒有單個單詞(電子郵件ID)應在該字符串重複)。我已經試過如下,但是當我按下haedware後退按鈕和取消選中我的聯繫人列表中我得到重複的值..如何綁定唯一的單詞到一個字符串在android

代碼

String str1 = ""; 
for (String bean : myAdapter.myId) { 
    str1 = str1 + ","+ getFacebook(ConnectedActivity.this,Integer.parseInt(bean)); 
    System.out.println("========My facebookId:::::: " + str1); 
} 
if (str1.length() > 0) { 
    if (str1.toUpperCase().contains(str1)) { 
     System.out.println("contains duplicates::::::::::>>>>>>>>>>>>>"); 
    } else { 
     str1 = str1.substring(1); 
     MainActivity.showAlert(ConnectedActivity.this,"FACEBOOK SENDER", str1, "OK", "EMAIL"); 
    } 
+0

str1.toUpperCase()。含有(STR1)此檢查是否所有字母都是大寫字母!!!! – hasan83

+0

我的解決方案解答了您的問題嗎? – hasan83

+0

@ hasan-no ..brothr – jigar

回答

0

下面的代碼將只保留郵件那隻會出現一次。重複的將不會出現。

String str1 = ""; 
ArrayList<String> all = new ArrayList<String>(); 
for (String bean : myAdapter.myId) { 
    String s = getFacebook(ConnectedActivity.this, Integer.parseInt(bean)); 
    all.add(s); 
} 

int i,j; 
for (i=0;i<all.size();i++) 
{ 
    String temp = all.get(i); 
    boolean found = false; 
    for (j=i+1;j<all.size();j++) 
    { 
     if(temp.equals(all.get(j))) 
     { 
      found = true; 
      all.remove(j); 
      j--; 
     } 
    } 
    if (!found) 
     str1 += "," + temp; 
} 
System.out.println(str1); 
+0

@哈桑 - thanx大師...但我已經找到了我的答案.... :) – jigar

+0

偉大的:)但如果我的代碼回答你的問題。接受它並沒有錯。因爲它是正確的。對? :) – hasan83

+0

@hasan ---哦確定.... hasan ..! – jigar

0
for (int i = 0; i < myId.size(); i++) { 

         if(myId.get(i).equals(value[1])) 
         { 
          myId.remove(i); 
         } 

        } 
+0

這將不起作用,因爲您改變了正在迭代的集合的大小。要做到這一點,你需要一個迭代器。 – Ridcully

相關問題