Eliminar elemento haciendo clic en cualquier elemento de listview
Hice un listview donde en la cabecera un campo del texto de la edición para agregar la lista. Y trabaja muy bien y agrega con éxito el artículo. A continuación, intento llamar a esta lista y establecer el adaptador. Ahora lo que quiero es cuando hago clic en el elemento que debe ser eliminado, pero su fuerza se cerró. Aquí está mi código:
public class AddDeleteItemActivity extends ListActivity { public ListView listViewCity; public Context ctx; ArrayList list = new ArrayList(); ArrayAdapter adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = (Button) findViewById(R.id.btnAdd); ctx=this; adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, list); OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { EditText edit = (EditText) findViewById(R.id.txtItem); list.add(edit.getText().toString()); edit.setText(""); adapter.notifyDataSetChanged(); } }; listViewCity = ( ListView ) findViewById( R.id.list); listViewCity.setAdapter(adapter); listViewCity.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> a, View v, int position, long id) { Toast.makeText(getApplicationContext(), " " +position , Toast.LENGTH_LONG).show(); SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions(); int itemCount = getListView().getCount(); for(int i=itemCount-1; i >= 0; i--){ if(checkedItemPositions.get(i)){ adapter.remove(list.get(i)); } } adapter.notifyDataSetChanged(); } }); btn.setOnClickListener(listener); setListAdapter(adapter); } }
- Margen del divisor de vista de lista
- Añadir elementos a ListView - Android
- Quiero medir la altura del ListView (getHight () = 0)
- Seleccione varios elementos de listview y cambie el color del elemento seleccionado solamente
- No se puede establecer una vista de lista personalizada en ListFragment
- AdapterView.OnItemClickListener () no está funcionando en mi customAdapter
- ListView dentro de un fragmento utilizado en un ViewPager no se comporta como se esperaba
- Ver titular y elementos de vista personalizada de la lista que se barajan mientras se desplaza
- Recuperación lenta de datos con android y parse.com
- Android cómo modificar EditText editable dentro de un ListView
- Biblioteca de cargador de imágenes universal está actuando lento en Android 5.0 en comparación con Android 4.4.4
- ¿Cómo ocultar el teclado virtual al cambiar las pestañas?
- NullPointerException en onLoaderFinished usando SimpleCursorAdapter
Intenta de esta manera
listViewCity.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> a, View v, int position, long id) { Toast.makeText(getApplicationContext(), " " +position , Toast.LENGTH_LONG).show(); list.remove(position); adapter.notifyDataSetChanged(); adapter.notifyDataSetInvalidated(); } });
Eliminar de la lista y actualizar la lista mediante la notificación del adaptador
Editado
Por qué se utiliza esta declaración cuando se extiende el ListActivity
listViewCity = ( ListView ) findViewById( R.id.list);
O puede obtener el objeto ListView utilizando getListView () con la extensión de ListActivity o extiende la actividad en lugar de ListActivity.
- Proveedor de contenido de Android para SQLite DB local: ¿por qué?
- ¿Es posible detectar cuando la pantalla se enciende por el usuario (Android)?