Estoy implementando ListView en mi código. Pero Cuando hago clic en los elementos, no responde responde al hacer clic en cualquier forma. Podría alguien ayudarme por favor? Gracias de antemano .

Aquí está el código .

public class ListaActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.provacomunicazione.MESSAGE";
@Override
public void onCreate(Bundle savedInstanceState)  {
super.onCreate(savedInstanceState); 
setContentView(R.layout.lsta);
Resources res = getResources();
String[] Authors = res.getStringArray(R.array.Lista_Nomi_E_Cognomi_Autori);
ArrayList<String> Autori = new ArrayList<String>();
for (String temp:Authors) {
Autori.add(temp);
}
Collections.sort(Autori);
ArrayList<String> AutoriLetteraSelezionata = new ArrayList<String>();
for (String temp:Autori) {
if (temp.charAt(0)=='A') {
AutoriLetteraSelezionata.add(temp);
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.textviewitem, AutoriLetteraSelezionata);
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(adapter);
listView.setClickable(true);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
CharSequence autore = "("+((TextView)view).getText()+")";
Intent i = new Intent(ListaActivity.this, SecondaryActivity.class);
i.putExtra(EXTRA_MESSAGE, autore);
startActivity(i);  
});
}
}    
  • usted debe eliminar esta línea: listView.setClickable(true);
  • gracias, pero he probado y no funciona, de todos modos, pero tienes razón, es útil

3 Comentarios

  1. 36

    Debe definir en todos los objetos secundarios en el elemento listview (TextView, ImageView etc.):

    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false"

    Y para el elemento raíz RelativeLayout /LinearLayout y así, definir:

    android:clickable="false"
    android:descendantFocusability="blocksDescendants"
    android:focusable="false"
    android:focusableInTouchMode="false"

    Si no los defina, que se «captura» en el evento click.
    Y si tienes un Custom listView adaptador, acaba de comprobar que reemplaza:

    @Override
    public boolean isEnabled(int position)
    {
    return true;
    }
    • Wow, tengo otro adaptador personalizado donde los clics funcionar bien, pero la otra lista que necesitaban para trabajar. Raro, pero feliz de que funcionó 😀
    • estoy usando listview personalizado con cardview.Listiview haga clic en no trabajar
    • Gracias por la respuesta , me acaba de quitar onclik verdad sobre los puntos y funcionó
  2. 0

    En mi caso el problema estaba en el hecho de que un ListView contenida HorizontalScrollViews.

    VHS consume clics sobre los elementos y no volver OnItemClick a la ListView.

    He resuelto el problema cuando escribió un OnClickListener dentro de un adaptador que devuelve una devolución de llamada a la ListView. Ver aquí: https://stackoverflow.com/a/43653085/2914140.

  3. -3

    En el Artículo del cliente,

    conjunto de todos los elementos

    android:clickable="true"
    android:focusable="false"

    me funciona

Dejar respuesta

Please enter your comment!
Please enter your name here