Android Studio / Wie kann ich die OnClick Methode Button ID abhängig machen?

Code Ausschnitt - (Android, App, programmieren)

1 Antwort

Hallo Karl,

eine Idee die mir da einfiele wäre, in der onClick-Methode die ID aus der View abzufragen:

for (int i = 0; i <= richter.length; i++) {
Button button = new Button(this);

button.setId(i);
((Button) findViewById(i)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Button mit ID " + v.getId(), Toast.LENGTH_SHORT).show();
switch (v.getId()) {
case 1:
DoSomething();
case 2:
DoSomethingElse();
}
//ODER: if (v.getId() == 2)
DoSomethingElse();
}
});
}

Grüße,
Nockiro

5

Hallo Nockiro

Danke viel Mahls für deine Antwort genau das habe ich
gesucht, bin aber nicht auf das getId gekommen.

Beste Grüsse Karl

0

XML 2 Werte Dividieren?

Hey Leute,

ich möchte in Android Studio die ganzen Button größen in Abhängigkeit der Bildschirmgröße haben. Da es Android Studio nicht von alleine packt.

Aber dazu muss ich in der activity 2 Werte dividieren.

Und so einfach wie in anderen Programmiersprachen geht das leider nicht.

z.B.

android:layout_height="match_parent/2"

geht nicht...

Darum könnt ihr mir villeicht sagen wie ich das Problem lösen kann.

Danke

...zur Frage

Wie kann ich einer Javascript Funktion Argumente per Onclick übergeben?

ich möchte flexibler programmieren und habe daher das Onclick-Event nicht im Button zu stehen. Ich rufe dieses Event über eine Id auf.

var element.document.getElementById("element");

Nun habe ich eine Funktion geschrieben, die für einen Parameter ein Argument erwartet, diesen möchte ich per Onclick-Event übergeben.

Wenn ich das Event wie folgend aufrufe, wird die Funktion gleich ausgeführt, ohne das ich den Button klicken muss.

anderesElement.onclick = nameDerFunktion("String-Argument");

Wie kann ich der Funktion nun ein Argument per Buttonklick übergeben?

...zur Frage

Kennt sich jemand mit Android Studio aus?

Wenn ich eine Map Activity erstelle und sie dann auf meinem Device laufen lasse kriege ich diese Fehlermeldung:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Wenn ich dann Multidex in meinem Programm aktiviere wird meine App zwar gestartet aber mir wird die Karte nicht angezeigt. Das einzige was mir angezeigt wird ist das Google Logo unten Links.

Codes und Screens kann ich mit Pastebin schicken.

LG Aaron

...zur Frage

Was möchtest Du wissen?