Pregunta

He estado luchando por los días tratando de encontrar la forma adecuada de implementar un oyente de acción a una vista de lista.Lo que realmente quiero lograr es crear un ListView y siempre que el usuario haga clic en cualquier artículo, la actividad anterior se cambiará.Soy realmente nuevo en esto, así que por favor ayúdame, realmente lo apreciaría mucho.Si puedes decirme lo que estoy haciendo mal en mi código que sería increíble!

Estoy usando el código de Fedor de [aquí] [1].

        ///Here I tried to Implement an action listener but It doesn't work.

        list.setOnItemClickListener(new OnItemClickListener() {                                                                                                                                                             
            public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)                               
            {                                                                                                                                                                           
                if(list.getItemAtPosition(position).equals(mStrings[1]))                                                       
                {                                                                                                           
                    Intent i = new Intent(MainActivity.this, Activity2.class);                                                                                        
                    startActivity(i);                                                                                
                    }                                                                                                    
                }                                                                                                       
            });


      }

¿Fue útil?

Solución

Necesitas anular OnlistitemClick en tal caso.Referirse a Haga clic en el oyente en ListView Para obtener más ayuda, la solución es una implementación bastante buena.

Aquí hay una posible implementación que debe ir en su actividad principal.Tenga en cuenta que esto solo funcionará siempre y cuando mantenga la actividad de extendimiento de la principal autorización.

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
     // Intent launcher here
}

Si desea extender la lista en lugar de la actividad más adelante y debe llamar a OnListitemClick, hágalo seguir este esquema

Clase pública YourClass extiende Listactivity Implementa OnitemClickListener {

@Override
public void onCreate(Bundle icicle){
    super.onCreate(icicle);
    setContentView(R.layout.your_layout);

    getListView().setOnItemClickListener(this);
}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // your stuff here
}
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top