2012-04-07 12 views
6

Ho ListView che sta salvando tutti i dati nel database. Per aggiungere ho un semplice pulsante e textBox che aggiunge al database e mostra a listView. Ora voglio che su un elemento lungo clic (tenere premuto sull'elemento) eliminerà l'elemento selezionato dalla lista. Come è possibile fare questo (in realtà quale metodo chiamare per un clic lungo).Sul lungo clic Elimina elemento

Ecco codice corrente:

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(); 
    } 

} 

risposta

2

È possibile utilizzare questo contruct: D

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