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

LongKlickListener auf eine TableRow

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Gossi, 25.04.2012.

  1. Gossi, 25.04.2012 #1
    Gossi

    Gossi Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    25.04.2012
    Hallo,

    Ich habe ein Problem beim hinzufügen eines LongKlickListeners. Ich habe diese Frage zwar schon im Java Forum gestellt, aber da bisher noch keine Antwort erhalten, außerdem denke ich, dass mir hier bei Android Fragen besser geholfen werden kann :).

    Es geht um folgendes:

    Ich füge beim betätigen eines Buttons, den Inhalt eines EditText an eine bestehende Table an, hierzu erstelle ich eine neue TableRow, fütter sie mit einem TextView und füge sie dem TableLayout hinzu.

    Nun möchte ich aber, dieser TableRow einen LongClickListener hinzufügen, da bei einem LongClick, ein Menü aufspringen soll, welches Fragt, ob dieser Eintrag gelöscht werden soll.

    Hier erstmal ein bisschen Java-Code:
    Code:
    if (((EditText) findViewById(R.id.newNote)).getText().length() > 0) {
        TableRow tr = new TableRow(this);
        tr.setLayoutParams(new TableRow.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
        TextView tv = new TextView(this);
        tv.setLayoutParams(new TableRow.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
        tv.setText(((EditText) findViewById(R.id.newNote)).getText()
                .toString());
        tr.addView(tv);
        ((TableLayout) findViewById(R.id.tabelleNotizen)).addView(tr,
                new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                        LayoutParams.WRAP_CONTENT));
        ((TableLayout) findViewById(R.id.tabelleNotizen)).invalidate();
        ((EditText) findViewById(R.id.newNote)).setText("");
    }
    
    Das wird aufgerufen, wenn der Button betätigt wird, aber wie kann ich jetzt der Row einen Listener hinzufügen, undzwar so, dass er erkennt, welche Row gedrückt wurde?

    Gruß Gossi
     
  2. StefMa, 25.04.2012 #2
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Code:
    tr.setOnLongClickListener(new View.OnLongClick
    {
              boolean onLongClick() 
              {
                      tabelle.removeView(tr);
                      return true;
              }
    });
    
     
    Gossi bedankt sich.
  3. Gossi, 25.04.2012 #3
    Gossi

    Gossi Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    25.04.2012
    -.- Manchmal sieht man den Wald vor lauter Bäumen nicht, danke :D
     

Diese Seite empfehlen