Ich habe eine ListView mit benutzerdefinierten Liste Adapter. Es hat OnItemClickListener und OnItemLongClickListner, die früher gut funktionierten. Danach musste ich eine Schaltfläche in das Layout des Listenelements einfügen und der Elementklick und der Longclick-Listener funktionierten nicht mehr. Hier ist mein Beispielcode:ListView lange klicken nicht funktioniert, wenn eine Schaltfläche in der Liste ist
ListView lv=(ListView)findViewbyId(R.id.listview);
lv.setAdapter(listviewadapter);
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {
// My code
}
});
Diese verwendet zu funktionieren, bevor die Schaltfläche in dem Layout Listeneintrag hinzufügen:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="2dp"
>
<TextView
android:id="@+id/symbol_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2.5"
android:layout_gravity="left"
/>
<TextView
android:id="@+id/ltp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
/>
<TextView
android:id="@+id/change_in_perc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
/>
<TextView
android:id="@+id/volume"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
/>
<ImageButton
android:id="@+id/chart"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="0.5"
android:src="@drawable/charts"
android:contentDescription="Chart Link"
/>
</LinearLayout>
I Inline-Hörers versuchte Wechsel zur Umsetzung onItemLongClickListener auf Aktivität, aber kein Erfolg bis jetzt. Vielen Dank.
Dies könnte der Fall sein:
dieses
auf Ihre Wurzel
http://developer.android.com/reference/android/view/ViewGroup.html#attr_android:descendantFocusability
android So Element hinzufügen. Ich versuche es. Aber wenn das den Fokus nehmen würde, sollte nicht das Klickereignis der Schaltfläche ausgelöst werden, wenn ich auf die Listenansicht klicke? – Sourabh
Das funktioniert .. Bitte fügen Sie dies als Ihre Antwort, so dass ich es akzeptieren kann. – Sourabh