OnItemClickListener usando ArrayAdapter para ListView

Quiero tener un OnItemClickListener para un ListView que creo usando un ArrayAdapter

Este es el código que uso para crearlo:

List values = datasource.some_search("Wednesday","11"); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); 

¿Cómo implemento onItemClickListener?

¡Gracias!

EDITAR: Estoy usando en mi ArrayAdapter y ListView una cadena de objetos.

EDIT 2: Más código:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datasource = new CommentsDataSource(this); datasource.open(); //check if database is populated if NOT, populate with txtToDb(); if (!datasource.isPopulated()) { // Database is not populated so copy it from assets here try { txtToDb(); Log.i("Database", "Was not Populated"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); Log.i("Database", "Was not populated: txtToDb(); failed"); } } else { Log.i("Database", "Populated"); } //wat to show on screen: List values = datasource.search("Wednesday","11"); // Use the SimpleCursorAdapter to show the // elements in a ListView ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); } 

EDIT 3: XML:

    

Use OnItemClickListener

  ListView lv = getListView(); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView adapter, View v, int position, long arg3) { String value = (String)adapter.getItemAtPosition(position); // assuming string and if you want to get the value on click of list item // do what you intend to do on click of listview row } }); 

Cuando haces clic en una fila, un oyente es despedido. Entonces setOnClickListener en la vista de lista y usas la clase interna OnItemClickListener .

También anula onItemClick . El primer param es un adaptador. El segundo param es la vista. tercer param es la posición (índice de elementos de vista de lista).

Usando el puesto, obtienes el artículo.

Editar: a partir de sus comentarios supongo que necesita configurar el adaptador o listview

Asumiendo que su actividad se extiende ListActivtiy

  setListAdapter(adapter); 

O si tu clase de actividad se extiende Actividad

  ListView lv = (ListView) findViewById(R.id.listview1); //initialize adapter lv.setAdapter(adapter); 

puedes usar de esta manera …

 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, final int position, long id) { String main = listView.getSelectedItem().toString(); } }); 

De acuerdo, después de la información de que su Actividad extiende ListActivity aquí hay una manera de implementar OnItemClickListener:

 public class newListView extends ListView { public newListView(Context context) { super(context); } @Override public void setOnItemClickListener( android.widget.AdapterView.OnItemClickListener listener) { super.setOnItemClickListener(listener); //do something when item is clicked } } 

Estoy usando arrayadpter, usando este código falso puedo obtener artículos

String value = (String) adapter.getItemAtPosition (position);

 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { String string=adapter.getItem(position); Log.d("**********", string); } });