setOnItemClickListener上的位置访问失败

时间:2014-07-08 15:52:46

标签: java android eclipse android-adapter

我正在做一个Android应用程序而且我有问题让位置知道列表中的哪个元素会被删除。 我的代码看起来像这样:

final ListView lista = (ListView) findViewById(R.id.listaPlantilla);
ArrayAdapter<String> adaptador_fileList = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datos);

lista.setAdapter(adaptador_fileList);

      lista.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> a, View v, int position,   long id)  {
                AlertDialog.Builder ad = new AlertDialog.Builder(Mis_cervezas.this);   


                ad.setCancelable(true);
                ad.setTitle("Opciones");
                ad.setIcon(android.R.drawable.ic_menu_info_details);


                ad.setItems(R.array.opciones_mis_cervezas, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {
                        switch(item){
                        case 0:// Ver Ficha
                            break;
                        case 1://Tutorial
                            Toast toast2 = Toast.makeText(getApplicationContext(),"He apretado Comenzar Tutorial", Toast.LENGTH_SHORT);
                            toast2.show();
                            break;
                        case 2://Eliminar
                            lista.removeViewAt(position); // error line
                            break;
                        }
                    }
                });
                ad.setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {
                         // Do something with the selection
                    }
                });
                ad.show();
            }
        });

我需要知道如何擦除一个元素。代码不允许我使用位置,所以我需要知道如何获得该职位。

非常感谢。

1 个答案:

答案 0 :(得分:0)

Object item = adaptador_fileList.getItem(position);

adaptador_fileList.remove(项目);

adapter.notifyDataSetChanged();