Мне нужно удалить выбранный объект из списка из массива - PullRequest
0 голосов
/ 27 января 2020

Приложение имеет контекстное меню и просмотр списка. Если я даю строку списка, я пропускаю меню и могу удалить его. Но как мне узнать, какой это объект или какую позицию он занимает в массиве?

public class MainActivity extends AppCompatActivity {
private ArrayList datos = new ArrayList();
private ListView listCuadros;
private AdaptadorCuadros adaptador;
private Context contexto;
private View tv1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    contexto = this;
    datos.add(new Cuadros("La Mona Lisa", "Leonardo da Vinci", "Renacentista", "$713 millones", "1503"));
    datos.add(new Cuadros("El grito", "Munch", "Expresionismo", "$119.9 millones", "1893"));
    datos.add(new Cuadros("La persistencia de la memoria", "Dalí ", "Surrealismo", "$400", "1931"));
    datos.add(new Cuadros("El nacimiento de Venus", "Sandro Botticelli", "Gotico", "Desconocido", "1482"));
    datos.add(new Cuadros("Guernica", "Pablo Picasso", "Cubismo", "€300 millones", "1937"));
    datos.add(new Cuadros("Los jugadores de cartas", "Paul Cézanne", "Posimpresionismo", "€191 millones", "1890"));
    adaptador = new AdaptadorCuadros(this, datos);
    listCuadros = findViewById(R.id.listView1);
    tv1 = findViewById(R.id.tv1);
    listCuadros.setAdapter(adaptador);
    registerForContextMenu(listCuadros);
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mimenu, menu);
}

public boolean onContextItemSelected(MenuItem item) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    switch (item.getItemId()) {
        case R.id.mi1:
            editar();
            return true;
        case R.id.mi2:
            borrar();
            return true;
        default:
            return super.onContextItemSelected(item);
    }
}

private void editar() {

}

private void borrar() {
    String mensaje = "Va a borrar uno de los cuadros, esta seguro?";
    AlertDialog.Builder builder = new AlertDialog.Builder(contexto);
    builder.setTitle("Confirmacion");
    builder.setMessage(mensaje);
    builder.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            Log.i("Dialogos", "Confirmacion Cancelada.");
            dialog.cancel();
        }
    })
    .setPositiveButton("Aceptar", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            Log.i("Dialogos", "Confirmacion Aceptada.");
            int i= listCuadros.get;
            datos.remove(i);
                adaptador.notifyDataSetChanged();
            }

    });
    builder.show();
}

Столько, сколько я искал по inte rnet Я не могу найти ничего, что мне поможет, я ' Я пытался получить положение, getitemlongcicklistener и все, что произошло со мной. Но нет пути, я был бы признателен за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...