Anropa en metod som ska ta tre bilder och två textViews

Diskussion i 'Frågor, support och diskussion' startad av TenorDiamond, 19 okt 2010.

  1. TenorDiamond

    TenorDiamond Infant Droid Medlem

    Blev medlem:
    18 okt 2010
    Inlägg:
    4
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag har lite problem med att använda en metod jag skapat för att dölja en del saker på min spelyta. Jag vet att jag ska ta in tre bilder och två textrutor men jag får inte till det. Första koden är själva metoden som ska köras för att dölja sakerna och den nedre är testmetoden som ska dra igång den första.

    Kod:
    public void clearPlayer(View ImageView,View imageView2,View imageView3,View textView,View textView2) {
        	TextView money = (TextView)textView;
        	TextView name = (TextView)textView2;
        	ImageView card1 = (ImageView)ImageView;
        	ImageView card2 = (ImageView)imageView2;
        	ImageView background = (ImageView)imageView3;
        	money.setVisibility(View.GONE);
        	name.setVisibility(View.GONE);
        	card1.setVisibility(View.GONE);
        	card2.setVisibility(View.GONE);
        	background.setVisibility(View.GONE);
        		
    	}
    
    Problemet är att jag inte vet hur jag tar in dom views jag vill. Jag har skapat en testmetod som ska köras vid ett knapptryck och det är den röda delen jag inte får till.

    Kod:
    public void clearPlayerTEST(){
        	[COLOR="Red"]clearPlayer(imageView , imageView2, imageView3, textView, textView2)[/COLOR]
        }
     
  2. b.lindahl

    b.lindahl Teen Droid Medlem

    Blev medlem:
    20 aug 2009
    Inlägg:
    350
    Mottagna gillanden:
    9

    MINA ENHETER

    Något sånt här kanske:
    Kod:
    clearPlayer(findViewById(R.id.imageView) , 
       findViewById(R.id.imageView2), 
       findViewById(R.id.imageView3), 
       findViewById(R.id.textView), 
       findViewById(R.id.textView2));
    
    Med rätt id angett efter R.id. för vyerna du vill komma åt.
     
  3. yrara

    yrara Teen Droid Medlem

    Blev medlem:
    30 sept 2009
    Inlägg:
    428
    Mottagna gillanden:
    8

    MINA ENHETER

    Varför tar du inte emot dem med de namnen du vill använda? Det är ju betydligt smidigare även för den anropande sidan, som endast kan läsa signaturen:
    Kod:
    public void clearPlayer(ImageView card1, ImageView card2, ImageView background, TextView money,TextView name) {
        	money.setVisibility(View.GONE);
        	name.setVisibility(View.GONE);
        	card1.setVisibility(View.GONE);
        	card2.setVisibility(View.GONE);
        	background.setVisibility(View.GONE);
    }
    I övrigt bör bears svar räcka, om det inte är för förhållanden som inte är beskrivna i originalposten. Metoden ser ut att vara som den är på grund av att den ska vara dynamisk, men utifrån hur den ser ut att användas, så undrar jag om den verkligen är tänkt att vara dynamisk...? Är det alltid samma tre image views och två text views som man ska skicka in? I så fall kan du ju lika gärna hämta dem i själva metoden:
    Kod:
    public void clearPlayer() {
        	findViewById(R.id.money).setVisibility(View.GONE);
        	findViewById(R.id.name).setVisibility(View.GONE);
        	findViewById(R.id.card1).setVisibility(View.GONE);
        	findViewById(R.id.card2).setVisibility(View.GONE);
        	findViewById(R.id.background).setVisibility(View.GONE);
    }
    
    public void clearPlayerTEST(){
        	clearPlayer();
    }
     
  4. TenorDiamond

    TenorDiamond Infant Droid Medlem

    Blev medlem:
    18 okt 2010
    Inlägg:
    4
    Mottagna gillanden:
    0

    MINA ENHETER

    tack för svaren! Jag fick användning av alltihop faktiskt.