Frage wie man in listview android eine volle Zeile anklickbar macht


Ich habe eine ListView mit Inhalt wie angenommen Android in der ersten Reihe, Blackberry in der zweiten Reihe und iphone in der dritten Reihe so jetzt möchte ich ListView die ganze Zeile anklickbar machen, aber wenn ich über Inhalt der Listview Zeile klicken, dann führt es nur Click-Ereignis, aber ich Wenn ich irgendwo klicken soll, dann sollte eine Click-Aktion ausgeführt werden. Mein Code zum Erstellen von Listview clickable ist unten:

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listartistspacedetailview);

    setListAdapter(new ArrayAdapter(this,R.layout.listitem_layout,R.id.barrio, keywordxmlparsing.array_artistname));

}   
@Override
protected void onListItemClick(ListView l, View v, int position, long thisID)
{
    Intent i = new Intent(Artistspacedetailview.this, Loadingimagetab.class);
    startActivity(i);   
}

und das ListView-Tag in der XML-Datei lautet:

<ListView
    android:clickable="true"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:id="@+id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_below="@id/horizontolline"
    android:cacheColorHint="#00000000"
    android:drawSelectorOnTop="false" />

5
2017-12-28 11:09


Ursprung


Antworten:


Ich weiß, dass diese Frage alt ist, aber es war der erste Hit für mich in Google, als ich nach diesem Problem suchte.

Das ist meine Lösung.

<ListView
    android:id="@+id/XXXXXX"
    android:layout_width="fill_parent"   // Changed from wrap content
    android:layout_height="fill_parent"  // Changed from wrap content
    android:clickable="true" >           // This was suggested in other topics
</ListView>

9
2018-04-24 09:57



Das ist alt, aber jedem anderen könnte es helfen. Legen Sie das auffüllende Layout so fest, dass das übergeordnete Element gefüllt wird, und legen Sie jedes andere Element, das im Layout möglicherweise klickbar ist, auf false fest, sodass das Listenelement den gesamten Fokus erhalten kann. Setzen Sie die Objekte auch auf fokussierbar falsch und auf fokussierbarOnTouch auf falsch.


2
2017-10-04 05:15



Dies könnte für Sie hilfreich sein ...

listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> list, View view, int position, long id) {
           //code to be executed.
    }

 }
});

-2
2017-12-28 12:06