2012-04-07 15 views
6

Tengo ListView que guarda todos los datos en la base de datos. Para agregar, tengo un botón y un cuadro de texto simples que se agregan a la base de datos y muestran a listView. Ahora quiero que en el elemento largo haga clic (elemento de retención) eliminará el elemento seleccionado de la lista. ¿Cómo es posible hacer eso? (En realidad, qué método llamar para un clic largo).En clics largos, elimine el elemento

Aquí es código actual:

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

} 

Respuesta

2

Puede utilizar esta contruct: D

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