2014-07-08 48 views
0

我正在做一个Android应用程序,我有问题得到的立场,知道列表我会擦除哪个elemenent。 我的代码如下所示:位置访问失败setOnItemClickListener

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(); 
      } 
     }); 

我需要知道我怎么可以删除一个元素。代码不让我使用位置,所以我需要知道如何获得位置。

非常感谢。

+0

onItemClick似乎给你一个位置。 – Andy

回答

0

Object item = adaptador_fileList.getItem(position);

adaptador_fileList.remove(item);

adapter.notifyDataSetChanged();