mViewFlags Variable der View Klasse auf 0 setzen

  • 3 Antworten
  • Letztes Antwortdatum
Jaiel

Jaiel

Dauer-User
235
Hallo falls ihr mal die OnClickmethode einer View überschrieben habt, hat euch AS oder Eclipse bestimmt mal die Meldung "...should call performClick()" ausgegeben, da die Basis onClick() im SourceCode eben diese aufruft haben die wohl eine Mitteilung mitgegeben diese ebenfalls aufzurufen.


Ich habe mich jetzt mal durch den SourceCode gekämpft und festgestellt, dass diese nichts macht außer einen Sound und eine haptische Vibration abzugeben, falls beides an ist.

So, ich möchte aber nicht das ein Sound abgespielt wird (und dass die MEldung erscheint da ich bisher einfach diese Methode nicht aufgerufen habe)zum Beispiel da ich selber meine Sound drüber lege mit Soundpool.

Vllt habe ich es noch nicht ganz erfasst, was da im Code gemacht wird, aber das Abspielen des Sound ist ebenfalls maßgeblich von diesen Membern abhängig:

"public static final int SOUND_EFFECTS_ENABLED = 0x08000000;"
"int mViewFlags;"

in dieser Funktion:

Code:
public boolean isSoundEffectsEnabled() {

    return SOUND_EFFECTS_ENABLED == (mViewFlags & SOUND_EFFECTS_ENABLED);
}



Hat jemand eine Ahnung wie man verhindern kann, außer das nicht-Aufrufen von perfomClick(), dass ein Sound abgespielt wird? Wie kann ich den mView - Flag auf 0 setzen?

Bzw. falls jemand mehr Infos hätte wo ich was übersehen habe, mich darauf hinweisen könnte?! Ich finde keine weitere Benutzung des mViewFlags im Source von der View :( Schon wieder 40 Minuten Code gewälzt ohne Sinn...

GC: View - android.view.View (.java) - GrepCode Class Source

Danke
 
Zuletzt bearbeitet:
Einfach in der xml bei dem view
Code:
android:soundEffectsEnabled="false"
setzen.
Im Code kann man das im Konstruktor nachvollziehen. Dort werden die Attribute ausgewertet und die Flags gesetzt

MfG Niko
 
  • Danke
Reaktionen: Jaiel
Danke schön euch Beiden!!!
 
Zurück
Oben Unten