¿Cómo implementar el oyente de acción en ListView?

Básicamente, quiero crear un ListView con un montón de elementos en él, y cada vez que el usuario haga clic en cualquier elemento, se abrirá una nueva actividad según el elemento en el que haga clic. Por favor, ayúdame, te lo agradecería mucho.

Aquí está mi mi código:

package com.hipeople;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class char1 extends Activity {
/** Called when the activity is first created. */
private ListView lv1;
private EditText ed;
private String lv_arr[]={"Android","Cupcake","Donut","Eclairs","AndroidPeople","Froyo",};
private ArrayList<String>  arr_sort= new ArrayList<String>();
int textlength=0;
@Override
    public void onCreate(Bundle icicle)
        {
            super.onCreate(icicle);
            setContentView(R.layout.main);

            lv1=(ListView)findViewById(R.id.ListView01);
            ed=(EditText)findViewById(R.id.EditText01);
            lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));





            ed.addTextChangedListener(new TextWatcher() {
            public void afterTextChanged(Editable s) {
            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {

                textlength=ed.getText().length();
                arr_sort.clear();
                for(int i=0;i<lv_arr.length;i++)
                {
                    if(textlength<=lv_arr[i].length())
                    {
                        if(ed.getText().toString().equalsIgnoreCase((String) lv_arr[i].subSequence(0, textlength)))
                        {
                            arr_sort.add(lv_arr[i]);
                        }
                    }
                }


            }
            });


        }



    }

preguntado el 28 de agosto de 11 a las 01:08

Por favor, echa un vistazo a la Tutorial de ListView despegar con lo básico. -

1 Respuestas

Prueba esto,

lv1.setOnItemClickListener(new OnItemClickListener() 
      {
        public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) 
        {
            String str = ((TextView) arg1).getText().toString();
            Toast.makeText(getBaseContext(),str, Toast.LENGTH_LONG).show();
            Intent intent = new Intent(getBaseContext(),your_new_Intent.class);
            intent.putExtra("list_view_value", str);
            startActivity(intent);
        }
    });

Respondido 28 ago 11, 06:08

Gracias por su relpy, pero está dando algún error "El tipo new AdapterView.OnItemClickListener () {} debe implementar el método abstracto heredado AdapterView.OnItemClickListener.onItemClick (AdapterView , View, int, long) ". Por favor, ayúdeme - user858975

¿Puede simplemente decirme cómo cambiar la actividad usando mi código, porque no quiero cambiar mi diseño? ¡Por favor! Realmente agradezco tu ayuda. user858975

Echa un vistazo a este sencillo y agradable tutorial de ListView, te ayudará. - Lalit Poptani

¿Está obteniendo la lista en la salida? - Lalit Poptani

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.