0

単語を文字列にバインドし、それらを使用して電子メールを送信するための単純な Android デモ プログラムを作成しました。そのため、それらをすべて一意にする必要があります (その文字列で単一の単語 (電子メール ID) を繰り返す必要はありません)。以下のように試しましたが、 haedwareの戻るボタンを押して連絡先リストのチェックを外すと、値が繰り返されます..

コード

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");
    }
4

2 に答える 2

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);
于 2013-09-23T13:43:20.627 に答える