Button zufällig disablen

  • 1 Antworten
  • Letztes Antwortdatum
H

Hoerti

Neues Mitglied
1
Hallo zusammen,

ich arbeite momentan an einem Projekt, dass verlangt dass ich beim Klick auf einen Button diesen disable und einen zufälligen anderen enable.

Hier mal mein Code:
Code:
        b = (Button) findViewById(R.id.button1);
        b.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				b.setBackgroundColor(R.color.redwue);
				
				setNextButton(b);
			}
		});


    public void setNextButton(Button str){
    	
    	System.out.println("&&&&&&&&&&& SETNEXTBUTTON");
    	str.setEnabled(false);
    	int zufall = (int) (Math.random()*3);
    	int buttonid = str.getId(); 
    	int buttonname = (int) str.getId();
    	String buttonneu = "button" + zufall; 
    	System.out.println("&&&&&&&&&&&" +  getResources().getResourceEntryName(buttonid));
    	Button bneu = new Button(this);
    	bneu.setId(buttonneu);
    	System.out.println("&&&&&&&&&&&" +  getResources().getResourceEntryName(bneu.getId()));
    	bneu.setEnabled(true);
    	//b.setEnabled(enabled)
    }

Meine Buttons heißen button1, button2 und button3. Am Beginn ist immer button1 enabled, mit der Methode setNextButton() möchte ich einen zufälligen anderen Button enablen!

Ich weiß der obige Code ist nicht schön, ich möchte es aber aus bestimmten Gründen trotzdem auf diese Weise machen.
Wo ich momentan anstehe ist die Zeile

Code:
bneu.setId(buttonneu);

weil die natürlich eine int Zahl benötigt und keinen string wie in meinem Code.

Kann mir da jemand weiterhelfen bzw. zumindest auf die Sprünge helfen?
 
Du hast doch schon alle 3 button in deiner app oder?
Warum arbeist du dann überhaupt mit new Button()?
SetId brauchst du eigentlich.

Ich würde einfach eine Liste mit allen button IDs machen und davon halt immer eine zufällig auswählen.

Das Problem ist die buttons haben keine echten Namen, sondern nur IDs.
Die Namen kommen nur über den Code (bzw die generierte R Klasse) mit dazu.

So wie du das jetzt machst kann das nicht funktionieren, selbst wenn du buttonneu in ein int umwandelst (was nicht geht, weil da z.B. "button1" drin steht)
 
Zurück
Oben Unten