/ / Listy pojedynczego wyboru i wydarzenia onClick - Android, widok listy Android

Listy pojedynczego wyboru i zdarzenia onClick - Android, listview Android

Mam listę CHOICE_MODE_SINGLE z 3 wierszami. Jak umieścić zdarzenie onClick, które zmienia wartość dowolnej zmiennej, tak aby po kliknięciu wiersza 1, powiedzmy, wartość X = 1, a gdy kliknięto wiersz 2, wartość X = 2 itd.?

    public class List extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, GENRES));
final ListView listView = getListView();
listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}

private static final String[] GENRES = new String[] {"Barre", "Buffumville","Hodges"};
}

Odpowiedzi:

2 dla odpowiedzi № 1

Jest to dość proste .. zamiast rozszerzać ListActivity rozszerz go o działanie i po prostu zadeklaruj widok listy w pliku XML, jak poniżej:

<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

zainicjuj widok listy w swojej działalności:

ListView listView=(ListView) findViewById(R.id.list);

Po ustawieniu adaptera w ten sam sposób ustaw odbiornik kliknięć elementu widoku listy, jak poniżej w kodzie:

listView.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
Toast.makeText(getBaseContext(), GENRES[position], Toast.LENGTH_SHORT).show();
}
});

W ten sposób uzyskasz pożądaną wartość tej pozycji widoku listy. Z pewnością uzyskasz pożądany rezultat.


0 dla odpowiedzi nr 2

Chcesz ustawić onItemClickListener w widoku listy.

listView.setOnItemClickListener(
new OnItemClickListener(
@Override
onItemClick(AdapterView<?> listView, View cell, int position, long id) {
// Code to change variables
}
});

0 dla odpowiedzi № 3

Możesz wdrożyć protected void onListItemClick (ListView l, View v, int position, long id) w twojej ListActivity, a zmienna pozycji informuje, który element został kliknięty.