/ / Единични списъци за избор и onClick събития - android, android-listview

Списъци с една селекция и събития onClick - android, android-listview

Имам списък CHOICE_MODE_SINGLE с 3 реда. Как да поставя събитие onClick, което променя стойността на произволна променлива, така че ако се натисне ред 1, да речем, стойността на X = 1, и когато се натисне ред 2, стойността на X = 2 и т.н.

    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"};
}

Отговори:

2 за отговор № 1

Нейната съвсем проста ... а не удължаване на ListActivity чрез Activity и просто обявяване на listview в XML файла ви по-долу:

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

инициализиране на визуализацията на списъка в дейността ви:

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

И след като зададете адаптера, както го направихте, задайте слушателя на кликвания върху елемента от списъка като по-долу в кода си:

listView.setOnItemClickListener(new OnItemClickListener() {

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

По този начин ще получите желаната стойност на тази позиция на viewview. Вие със сигурност ще получите желания резултат.


0 за отговор № 2

Искате да настроите onItemClickListener в изглед на списъка.

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

0 за отговор № 3

Можете да приложите protected void onListItemClick (ListView l, View v, int position, long id) в списъка ви ListActivity, а променливата за позицията ви дава възможност да знаете кой елемент е бил натиснат.