OnItemClickListener funktioniert nicht mit ListView Element mit Schaltfläche

Ich habe ListView mit benutzerdefiniertem Adapter der View to ListView auf diese Weise liefert:

  public View getView(int position, View convertView, ViewGroup parent) { RelativeLayout.LayoutParams lineParams; RelativeLayout line=new RelativeLayout(context); TextView tv=new TextView(context); tv.setText("Text in postion="+i); lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lineParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); line.addView(tv, lineParams); lineParams.addRule(RelativeLayout.CENTER_IN_PARENT); //checkbox CheckBox checkBox=new CheckBox(context); lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lineParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); lineParams.addRule(RelativeLayout.CENTER_IN_PARENT); line.addView(checkBox, lineParams); return line; } 

Und irgendwo in ListView gibt es setOnItemClickListener() , die Objekt-Klick-Ereignisse abfangen sollte. Mein Problem, dass, wenn ich versuche, Checkbox zu Element hinzufügen – ich bekomme keine Resonanzen aus meinem ListView . Wenn ich CheckBox oder irgendeine andere Button überspringe, CheckBox es.

  • Was ist der richtige Weg, um von einer benutzerdefinierten Ansicht zu der Aktivität zu kommunizieren, in der sie sich befindet?
  • Wie rufe ich eine Methode an, die in einem ListFragment von einem Adapter definiert ist?
  • Wie kann ich eine Aktivität aus einer ListView-Adapterklasse beenden?
  • Viewpager Adapter getItem immer für Index 0 und 1 aufgerufen
  • Wie man einen Listener für Checkboxen in einer Adapteransicht, Android, ArrayAdapter, onCheckedChanged, OnCheckedChangeListener hinzufügt
  • Text auf Spinner ist weiß auf einem weißen Hintergrund
  • Ich bin wirklich mit diesem Problem fest, ich habe alle Arten von Layouts ausprobiert, ausgerichtet, verpackt und so weiter – nutzlos. Sieht aus wie CheckBox stört ListView Item-Klick-Ereignisse.

    Irgendwelche Ideen wie zu überwinden?

  • Neuronales Netzwerk zur Erkennung des Beschleunigungsmessers
  • shouldOverrideUrlLoading funktioniert nicht und fängt Link-Klicks, während die Seite geladen wird
  • Android RestClientException: keine passende HttpMessageConverter gefunden
  • Erhalte den Datums- und Zeitauswahlwert aus einem einzigen Dialogfragment und setze ihn in EditText ein
  • Wie kann ich Links in einem EditText klickbar machen?
  • ViewPager setCurrentItem friert UI-Thread ein
  • 7 Solutions collect form web for “OnItemClickListener funktioniert nicht mit ListView Element mit Schaltfläche”

    Füge einfach diese Zeile in die Positionsansichten anstelle von listView selbst ein

     android:focusable="false" 

    Überprüfen Sie mehr Details über diese von benutzerdefinierten ListView nicht in der Lage, auf Elemente klicken

    Ich habe auch das gleiche Problem, das ich versucht habe, android:focusable="false" zu listview aber es funktioniert nicht dann füge ich dies zu listview item .. wie in meinem listview item Ich habe uesed Toggle-Taste, die Problem verursachte , android:focusable="false" ich android:focusable="false" zum Toggle-Button und Listenansicht auf Item click listener start work wieder

    Wenn Sie ImageButtons innerhalb des Listenelements haben, müssen Sie hinzufügen:

     android:descendantFocusability="blocksDescendants" 

    Auf das Root-Listenelement-Element [wie das Root-Layout].

    Dann müssen Sie in jedem ImageButton im Listenelement hinzufügen:

     android:focusableInTouchMode="true" 

    Das hat für mich gearbeitet – aber ich habe ImageButtons benutzt, nicht die Standardtaste.

    Ich hatte auch das Problem eines Buttons in meinem ListView. Leider nur den Fokus auf false für alle Objekte in meinem Adapter nicht für mich arbeiten.

    Ich habe jetzt einen Workaround.

    In Ihrem Adapter erstellen Sie einen OnClickListener für die Schaltfläche (oder ein anderes anklickbares Objekt), wenn Sie das noch nicht getan haben. In diesem OnClickListener rufst du den OnItemClickListener selbst an.

     public void onClick(View v) { mOnItemClickListener.setOnItemClick(mListView, v, vPos, vId); } 

    Es bedeutet, dass Sie Ihren Adapter sowohl für die übergeordnete ListView als auch für den OnItemClickListener benötigen.

    Fügen Sie folgende Zeile zu Ihrer Liste hinzu

     android:choiceMode="singleChoice" 

    Oder stellen Sie sicher, dass Sie folgende Zeilen auf Ihre Layouttextfelder setzen

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

    Sie können prüfen, um Ihre auf OnTouchEvent in Ihrem Listview-Element zu schreiben und senden Sie die richtige TouchEvent zu Ihnen Kind Ansicht, die Schaltfläche.

    Wenn Sie ListView in Activity , stellen Sie sicher, dass Sie setOnItemClickListener()

     myListView.setOnItemClickListener(this); // if your activity implement OnItemClickListener 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.