2012-04-07 22 views
6

Ich habe ListView, die alle Daten in der Datenbank speichert. Zum Hinzufügen habe ich eine einfache Schaltfläche und eine TextBox, die zur Datenbank hinzugefügt wird und zu listView angezeigt wird. Jetzt will ich ththh auf langen Gegenstand klicken (halten auf Artikel) wird das ausgewählte Element aus der Liste löschen. Wie ist es möglich, das zu tun (tatsächlich, welche Methode für einen langen Klick aufrufen). HierBei langem Klick löschen Element

ist aktuelle Code:

import java.util.List; 
import java.util.Random; 

import android.app.ListActivity; 
import android.os.Bundle; 
import android.text.Editable; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.EditText; 
import android.widget.ListView; 

public class Announce extends ListActivity{ 
    private CommentsDataSource datasource; 
    EditText edit; 
    ListView list; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.announce); 

     datasource = new CommentsDataSource(this); 
     datasource.open(); 

     List<Comment> values = datasource.getAllComments(); 

     ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this, 
       android.R.layout.simple_list_item_1, values); 
     setListAdapter(adapter); 
    } 


    public void onClick(View view) { 
     @SuppressWarnings("unchecked") 
     ArrayAdapter<Comment> adapter = (ArrayAdapter<Comment>) getListAdapter(); 
     Comment comment = null; 
     switch (view.getId()) { 
     case R.id.add: 
      edit = (EditText)findViewById(R.id.editTxt); 
      Editable txt=(Editable)edit.getText(); 
      String input = txt.toString();   
      comment = datasource.createComment(input); 
      adapter.add(comment); 
      break; 
     } 
     adapter.notifyDataSetChanged(); 
    } 



    @Override 
    protected void onResume() { 
     datasource.open(); 
     super.onResume(); 
    } 

    @Override 
    protected void onPause() { 
     datasource.close(); 
     super.onPause(); 
    } 

} 

Antwort

2

Sie dieses Konstrukt verwenden kann: D

something.setOnLongClickListener(new OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View v) { ... } }); 
Verwandte Themen