Wie android:id-String auslesen

A

Andro-medanebel

Neues Mitglied
0
Wie kann ich den id-String eines View auslesen?

Beispiel:
Code:
<Button  
    android:id="@+id/button_1"
/>
<Button  
    android:id="@+id/button_2"
/>
Ich habe einen onTouch Listener, dem die View übergeben wird,
auf die ich gedrückt habe:
Code:
OnTouchListener myOnTouchListener = new OnTouchListener()
{
  @Override 
  public boolean onTouch(View v, MotionEvent event)
  ...
}
Nun will ich die Id der View auslesen, die übergeben wurde.
Mit v.getId() bekomme ich nur eine Zahl.

Ich will aber die Id als String auslesen also v.??? soll
button_1 oder button_2 etc. zurückgeben,
je nach dem, was gedrückt wurde.

Wie bewerkstellige ich das?
 
Gibt es nicht als String.
 
geht nicht.

1) warum brauchst du das ? so ein bedürfniss hatte ich die letzten 3 jahre noch nicht.

2) du kannst den namen als android:tag speichern und dann halt von dort lesen, wenn du es benötigst

ansonsten musst du mappen
switch(v.getid())
case R.id.button_1:
btnID = "button_1";

usw
 
Du möchtest doch nur abfragen, wann der Button gedrückt wurde, oder?

Das geht normalerweise so:

Du initialisierst den Button mit

Button xxx = (Button) findViewById (R.id.button_1)

Dann übergibst Du ihm einen OnClickListener:

xxx.setOnClickListener(this)

(bei der Klassendeklatration implementierst Du den OnClickListener vorher)

Dann gibt es ein OnClick-Event (eine der überschriebenen Methoden, die beim implementieren des OnClickListeners erstellt werden) und fragst das dann so ab:

if(event == xxx){
...Anweisungen, die beim Klick auf den Button ausgeführt werden sollen...
}
 
an die Strings kommste nur über Reflection in der R Klasse ran.. ob das sinnvoll ist sei mal dahingestellt..
edit: geht natürlich auch ohne Reflection..aber wird nur komplizierter.
 
Einfach an jeden Button den passenden OnClickListener dranhängen, wäre eigentlich die natürlichste Lösung.
 

Ähnliche Themen

H
Antworten
2
Aufrufe
1.306
Hcman
H
M
Antworten
3
Aufrufe
144
moin
M
C
  • CoderboyPB
Antworten
3
Aufrufe
925
swa00
swa00
Zurück
Oben Unten