【发布时间】:2020-06-08 04:23:38
【问题描述】:
如何通过列表视图从数据库中删除多个选定的项目?
我找不到怎么做,我找不到如何获取每个选定对象的 ide,或者告诉删除行删除每个选定项
我尝试了很多东西,但我找不到方法,我是新手,所以需要帮助:/
我试图遵循一些教程,但没有,符合
"db.delete("personajes", "codigo=" + **(HERE)**, null);"
我放了“list_items”,但放在这里却给我带来了一个微不足道的错误,显然不是,我在 3 天前尝试过,但什么也没有,我有点沮丧
package com.example.x.basededatos;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class Consultartlista extends AppCompatActivity {
private static final String TABLAPERSONAJES = "personajes";
ListView listapersonajes;
ArrayList<String> listaInformacion;
ArrayList lea;
ArrayList<usuario> listaPerso;
AdminSQLiteOpenHelper conn;
public int id;
/********************/
ArrayList<String> list_items = new ArrayList<String>();
int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_consultartlista);
conn=new AdminSQLiteOpenHelper(this,"administracion",null,1);
listapersonajes = (ListView) findViewById(R.id.listapersonajes);
consultarListaPersonas();
final ArrayAdapter<String> adaptador=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,listaInformacion);
listapersonajes.setAdapter(adaptador);
/*******/
listapersonajes.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listapersonajes.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
count = count + 1;
mode.setTitle(count + " items seleccionados");
list_items.add(listaInformacion.get(position));
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
count = 0;
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.mymenu1, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()){
case R.id.delete_id:
for(String msg : list_items){
SQLiteDatabase db=conn.getWritableDatabase();
db.delete("personajes", "codigo=" + , null);
db.close();
adaptador.remove(msg);
}
Toast.makeText(Consultartlista.this, count + " items removidos", Toast.LENGTH_SHORT).show();
count = 0;
mode.finish();
return true;
// break;
default:
return false;
}
//return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
}
public void consultarListaPersonas() {
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1);
SQLiteDatabase BaseDatabase = admin.getWritableDatabase();
SQLiteDatabase db=conn.getReadableDatabase();
usuario usuario=null;
listaPerso=new ArrayList<usuario>();
Cursor cursor=db.rawQuery("SELECT * FROM "+TABLAPERSONAJES,null);
while (cursor.moveToNext()){
usuario = new usuario();
usuario.setCodigo(cursor.getInt(0));
usuario.setNombre(cursor.getString(1));
usuario.setContraseña(cursor.getString(2));
listaPerso.add(usuario);
}
obtenerLista();
}
private void obtenerLista() {
listaInformacion=new ArrayList<String>();
for(int i=0; i<listaPerso.size();i++){
listaInformacion.add(listaPerso.get(i).getCodigo()+" Nombre: "
+listaPerso.get(i).getNombre()+" Contraseña: "
+listaPerso.get(i).getContraseña());
}
}
}
【问题讨论】:
标签: javascript java android android-studio