Ich habe eine Liste von verschiedenen TextViews von einem benutzerdefinierten Adapter verwaltet.setOnItemClickListener in nur Listenelemente
list.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FDD017" >
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
element.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<View android:id="@+id/line1"
android:layout_width="fill_parent"
android:layout_height="5dp"
android:background="#fd1726" />
<TextView
android:id="@+id/out1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip"
android:paddingLeft="6dip"
android:textSize="17sp"
android:textStyle="bold"
android:background="#17c4fd" />
<View android:id="@+id/line2"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#236e01" />
<TextView
android:id="@+id/out2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip"
android:paddingLeft="6dip"
android:textSize="17sp"
android:textStyle="bold"
android:background="#17c4fd" />
<View android:id="@+id/line3"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#236e01" />
<TextView
android:id="@+id/out3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip"
android:paddingLeft="6dip"
android:textSize="17sp"
android:textStyle="bold"
android:background="#c6c6c7" />
</LinearLayout>
In meiner Tätigkeit ich setOnItemClickListener verwenden, um eine Aktion auszuführen, wenn auf ListElements klicken.
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter_view, View view, int position, long id) { MyAction(); }
});
Ist es möglich, setOnItemClickListener nur zu starten, wenn in einem Klick auf R.id.out1 und R.id.out2 in R.id.out3 Textviews und nichts tun zu klicken?
Dont tun dies 'lv.setOnItemClickListener' stattdessen Element klickt in den Adapter handhaben, wo Sie verwalten können, welche tv geklickt wurde –
man muss wirklich durch einige grundlegende Listenansicht Beispiele gehen. Das Festlegen des click listeners für einige Ansichten in einem listView-Element ist ein grundlegendes Thema. Siehe hier: http://www.vogella.com/tutorials/AndroidListView/article.html und https://developer.android.com/guide/topics/ ui/layout/listview.html. Außerdem empfehle ich, stattdessen eine recyclerView zu verwenden, es ist eine bessere listView: https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html – Opiatefuchs
Ja, können Sie tun, wie Tim sagte oder Sie können überprüfen, wie die ID von View in onItemClick wie, If (view.getId() == R.id.out3) { // Do Ihre Sachen hier } –