2016-06-04 12 views
1

Ich erstelle derzeit eine Ultimate Tic Tac Toe App, die aus 81 Tasten besteht. Die Art, wie ich es gehandhabt habe, als es regulär war, war eine Switch-Anweisung für 9 Tasten. Ich frage mich nur, ob das Erstellen eines Schalters für alle 81 Tasten immer noch der beste Weg ist, alle Tastendrücke zu verarbeiten?Handhabung android onclick für mehrere Tasten (81 insgesamt)

Ultimate Tic Tac Toe

+0

Sie könnten ein 'tag' in der Ansicht verwenden, um Informationen einzugeben. –

+0

Machen Sie gen Elemente mit reinen Codes erstellen oder ein samle XML-Layout für alle aufblasen? –

+0

@AliSheikpour Ich habe dies erstellt ein XML-Layout erstellen – thatboytitz

Antwort

1

Für alle Elemente gesetzt onClick mit einem gleichen Namen:

<LinearLayout 
//blah blah 
android:onClick="myClickFunction" 
/> 

und dann in Ihrer Java-Datei finden Sie müssen dies nur einen Klick Listener:

public void myClickFunction(View v) { 
      String mytag=(String) v.getTag(); 
      // And do something with tag or id 
     } 
+0

Wie funktioniert das für alle 81 Objekte? – thatboytitz

+0

Da für alle der gleiche Name von 'android: onClick' festgelegt ist. –

+0

Ich bekomme 'FATALE AUSNAHME: Main Process: com.thatboytitz.ultimatetictactoe, PID: 16320 java.lang.IllegalStateException: Konnte Methode MyClickFunction (View) in einem übergeordneten oder übergeordneten Kontext für Android nicht finden: OnClick-Attribut für View-Klasse definiert android.support.v7.widget.AppCompatButton mit der ID 'button01'' – thatboytitz

1

Im Inneren des OnClick Veranstaltung haben Sie die Ansicht.

Businesses direkt

+0

Aber innerhalb der Onclick tun ich: öffentliche public void OnClick (Ansicht anzeigen) {' ' wechseln (view.getId()) {' für alle 81 Tasten? – thatboytitz

+0

Sie können eine benutzerdefinierte Ansicht erstellen und ihre Position speichern, während Sie sie erstellen. Dann werfen Sie die Ansicht in den OnClick, um die passende Koordinate zu erhalten. Sie können auch ein Tag für die Ansicht festlegen. –

+0

Ich bin verwirrt in was du redest. Wie würdest du das machen? – thatboytitz