Mit einem Integer-ArrayList in Android

Ich bin benötigen Hilfe bei der Erstellung einer ArrayList und dem hinzufügen von ein paar zahlen in Ihnen. Im wesentlichen habe ich ein Kartenspiel, das zieht die Karte und dann speichert die ID (BCID). Ich möchte hinzufügen, dieser zog-ID zu einer ArrayList, so kann ich vermeiden, ziehen die gleiche Karte zweimal. Ich habe die Einstellungen wie unten, aber ich bekomme immer Duplikate. Ich weiß, die Karten zu ziehen sind richtig, denn es zeigt alles fein - nur wiederholt Karten, leider.

Jede Hilfe, die Sie bereitstellen können, wäre toll! Ich habe mein bestes getan, nur die relevanten Teile. Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.

public static Integer bcid1, bcid2, bcid3, bcid4, bcid5, bcdcid;
public static List<Integer> usedCards = new ArrayList<Integer>();

In dem folgenden Beispiel, soll es ja erkennen das Duplikat dann initialisieren Sie die Sequenz, ziehen Sie eine andere Karte.

    public static void setIDs() 
{
    try 
    {
        bcid1 = Integer.parseInt(bc1);
        usedCards.add(bcid1);
    }
    catch(NumberFormatException nfe)
    {       }

    try 
    {
        bcid2 = Integer.parseInt(bc2);
        if (usedCards.contains(bcid2))
        {
            try 
            {
                blueCard2(ctx);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        else
        {
            usedCards.add(bcid2);
        }
    }
    catch(NumberFormatException nfe)
    {       }

    try 
    {
        bcid3 = Integer.parseInt(bc3);
        if (usedCards.contains(bcid3))
        {
            try 
            {
                blueCard3(ctx);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        else
        {
            usedCards.add(bcid3);
        }
    }
    catch(NumberFormatException nfe)
    {       }

    try 
    {
        bcid4 = Integer.parseInt(bc4);
        if (usedCards.contains(bcid4))
        {
            try 
            {
                blueCard4(ctx);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        else
        {
            usedCards.add(bcid4);
        }
    }
    catch(NumberFormatException nfe)
    {       }

    try 
    {
        bcid5 = Integer.parseInt(bc5);
        if (usedCards.contains(bcid5))
        {
            try 
            {
                blueCard5(ctx);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        else
        {
            usedCards.add(bcid5);
        }
    }
    catch(NumberFormatException nfe)
    {       }
}
  • Ich Folge nicht Ihre Logik. Wo bc1, bc2 usw. kommen Sie aus?
InformationsquelleAutor user2356076 | 2013-05-21
Schreibe einen Kommentar