使用arraylists,listviews和意图的问题

时间:2017-11-27 01:39:03

标签: android listview android-intent arraylist

我正在使用android studio,它是一个应用程序,可以在列表视图中显示某些车辆的数据,数据存储在一个arraylist中,并且属于一个名为Vehicle的类。

在列表视图上的想法是显示汽车的牌照,颜色等。它工作正常,我需要做的是当你点击一个项目时它会发送给你另一个你可以编辑的意图汽车的数据,在这里我遇到了我的问题,我该如何判断其数据是否正在编辑?

listaVehiculos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            Intent editar = new Intent(Lista.this,Editar.class);
            //editar.putExtra("Placa",listaVehiculos.getItemAtPosition(i).toString());
            editar.putExtra("Codigo",listaVehiculos.getItemIdAtPosition(i));
            editar.putParcelableArrayListExtra("Vehiculos",Vehiculos);
            startActivity(editar);
        }
    });

我在listview所在的视图中的代码,listavehiculos是listview本身,Vehiculos是arraylist,我需要的是发送到其他活动是我选择的listview项目所以&& #39; d知道要编辑的arraylist的哪个元素。

关于我有其他活动

editar = (Button)findViewById(R.id.editar);
    Bundle extras = getIntent().getExtras();
    final ArrayList<Vehiculo> Vehiculos3 = extras.getParcelableArrayList("Vehiculos");
    dos= extras.getString("Placa");

我一直在搞乱不同的putExtra值,但我不知道如何给我一个位置,或者告诉我选择了哪个对象。

1 个答案:

答案 0 :(得分:0)

您不需要使用捆绑包

改变,

 Bundle extras = getIntent().getExtras();
final ArrayList<Vehiculo> Vehiculos3 = extras.getParcelableArrayList("Vehiculos");
dos= extras.getString("Placa");

Intent i = getIntent();

final ArrayList<Vehiculo> Vehiculos3 = i.getParcelableArrayListExtra("Vehiculos"); dos= i.getStringExtra("Placa");