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

onListItemLongClick

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ImperatorPlebis, 16.07.2012.

  1. ImperatorPlebis, 16.07.2012 #1
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    10.07.2012
    Hallo zusammen,

    ich nutze onListItemClick um Elemente die ich in meiner Listview anklicke aus meiner Datenbank zu löschen. Und das funktioniert jetzt auch endlich:thumbsup:
    Code:
    protected void onListItemClick(ListView Liste, View Datenelement, int position,long id){
                super.onListItemClick(Liste,Datenelement,position,id);
                String text =ids[position].toString();
                final Toast hinweis = Toast.makeText(this, text+((TextView) Datenelement).getText(),Toast.LENGTH_LONG);
                hinweis.show();
                dbZugriff.löscheDatensatz(ids[position]);
                
            }
    
    Ich würde bei einem langen Klick gerne eine andere Aktion durchführen.

    Ich habe nach onListItemLongClick gesucht aber nichts brauchbares gefunden. Existiert eine Möglichkeit in der Form oder gibt es bessere Alternativen dafür?

    Danke für eure Hilfe
     
  2. DieGoldeneMitte, 16.07.2012 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Such stattdessen mal nach OnItemLongClickListener :D
     
  3. ImperatorPlebis, 17.07.2012 #3
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    10.07.2012
    Erstmal Danke, habe ich gemacht, ist mir aber noch nicht ganz klar wie ich das einbauen muss ....
    Code:
          ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, values);
            setListAdapter(adapter);
            
            
                    ListView list = getListView();
                    list.setOnItemLongClickListener(new OnItemLongClickListener() {
    
                        @Override
                        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                            Toast.makeText(this,
                                    "Item in position " + position + " clicked",
                                    Toast.LENGTH_LONG).show();
                            
                            return true;
                        }
                    });
    

    Fehler
    Code:
    Multiple markers at this line
        - The method onItemLongClick(AdapterView<?>, View, int, long) of type new 
         AdapterView.OnItemLongClickListener(){} must override a superclass method
        - implements 
         android.widget.AdapterView.OnItemLongClickListener.onItemLongClick
    
    
    The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new 
     AdapterView.OnItemLongClickListener(){}, String, int)
    
    

    Mit dem Interpretieren der Fehlertexte tue ich mich noch sehr schwer, das finde ich bei vb.net deutlich einfacher. aber das ist wahrscheinlich eine Erfahrungssache
     
  4. StefMa, 17.07.2012 #4
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Code:
    Multiple markers at this line 
    - The method onItemLongClick(AdapterView<?>, View, int, long) of type new AdapterView.OnItemLongClickListener(){} must override a superclass method 
    - implements android.widget.AdapterView.OnItemLongClickListener.onItemLongClick
    The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new AdapterView.OnItemLongClickListener(){}, String, int)
    
    1. Fehler:
    Schreib mal @Override über die Methode.
    2. Fehler:
    Drück mal Str, Schift + O (O nicht null xD)
    Dann werden alle imports automtisch eingefügt.
    3. Fehler:
    Die Toast.makeText() ist falsch. Sie geht
    Code:
    (Context, String, int)
    (Activity.this, "Hallo", Toast.TAOST_SHORT) //Toast.TOAST_SHORT ist falsch, aber was ähnliches :D Weiß es grade nicht auswendig :D
    
    Gruß
     
  5. DieGoldeneMitte, 17.07.2012 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Das "this" dort ist der Listener, nicht die Activity.
     
    Zuletzt bearbeitet: 17.07.2012
  6. ImperatorPlebis, 19.07.2012 #6
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    10.07.2012
    danke euch
    inzwischen läuft es:)
     

Diese Seite empfehlen