1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Wie android:id-String auslesen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Andro-medanebel, 27.01.2012.

  1. Andro-medanebel, 27.01.2012 #1
    Andro-medanebel

    Andro-medanebel Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2010
    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?
     
  2. the_alien, 28.01.2012 #2
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Gibt es nicht als String.
     
  3. swordi, 28.01.2012 #3
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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
     
  4. TheEvilOne, 28.01.2012 #4
    TheEvilOne

    TheEvilOne App-Anbieter (In-App)

    Beiträge:
    452
    Erhaltene Danke:
    50
    Registriert seit:
    19.05.2010
    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...
    }
     
  5. Fr4gg0r, 28.01.2012 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    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.
     
  6. DieGoldeneMitte, 28.01.2012 #6
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Einfach an jeden Button den passenden OnClickListener dranhängen, wäre eigentlich die natürlichste Lösung.
     

Diese Seite empfehlen