1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. ImperatorPlebis, 16.07.2012 #1
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    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

    Such stattdessen mal nach OnItemLongClickListener :D
     
  3. ImperatorPlebis, 17.07.2012 #3
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    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

    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

    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

    danke euch
    inzwischen läuft es:)