OnItemClickListener с помощью ArrayAdapter для ListView

Я хочу иметь OnItemClickListener для ListView, который я создаю, используя ArrayAdapter

Это код, который я использую для его создания:

List values = datasource.some_search("Wednesday","11"); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); 

Как реализовать onItemClickListener?

Благодаря!

EDIT: Я использую в своем ArrayAdapter и ListView строку объектов.

EDIT 2: Дополнительный код:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datasource = new CommentsDataSource(this); datasource.open(); //check if database is populated if NOT, populate with txtToDb(); if (!datasource.isPopulated()) { // Database is not populated so copy it from assets here try { txtToDb(); Log.i("Database", "Was not Populated"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); Log.i("Database", "Was not populated: txtToDb(); failed"); } } else { Log.i("Database", "Populated"); } //wat to show on screen: List values = datasource.search("Wednesday","11"); // Use the SimpleCursorAdapter to show the // elements in a ListView ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); } 

EDIT 3: XML:

    

Использовать OnItemClickListener

  ListView lv = getListView(); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView adapter, View v, int position, long arg3) { String value = (String)adapter.getItemAtPosition(position); // assuming string and if you want to get the value on click of list item // do what you intend to do on click of listview row } }); 

Когда вы нажимаете на строку, слушатель запускается. Таким образом, вы setOnClickListener в listview и используете анонимный внутренний class OnItemClickListener .

Вы также переопределите onItemClick . Первым параметром является адаптер. Второй параметр – это вид. Третьим параметром является позиция (индекс элементов списка).

Используя позицию, вы получаете элемент.

Изменить: из ваших комментариев я предполагаю, что вам нужно установить адаптер o listview

Поэтому, предполагая, что ваша деятельность расширяет ListActivtiy

  setListAdapter(adapter); 

Или если ваш class активности расширяет действие

  ListView lv = (ListView) findViewById(R.id.listview1); //initialize adapter lv.setAdapter(adapter); 

вы можете использовать этот способ …

 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, final int position, long id) { String main = listView.getSelectedItem().toString(); } }); 

Хорошо, после того, как информация о том, что ваша активность расширяет ListActivity, представляет собой способ реализации OnItemClickListener:

 public class newListView extends ListView { public newListView(Context context) { super(context); } @Override public void setOnItemClickListener( android.widget.AdapterView.OnItemClickListener listener) { super.setOnItemClickListener(listener); //do something when item is clicked } } 

Я использую arrayadpter, используя этот следующий код, я могу получить элементы

Строковое значение = (String) adapter.getItemAtPosition (позиция);

 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { String string=adapter.getItem(position); Log.d("**********", string); } }); 
  • Как установить задержку в функции Android onClick
  • Как я могу создать элемент управления ActiveX, написанный с помощью событий C # для повышения в JavaScript при нажатии?
  • Настройка spinner onClickListener () в Android
  • android listview получить выбранный элемент
  • Uncaught TypeError: Object не имеет метода 'on'
  • OnclientClick и OnClick не работают одновременно?
  • Могу ли я использовать эффект onclick в CSS?
  • Сравнение использования памяти в браузере: встроенный onClick против использования JQuery .bind ()
  • добавьте функцию onclick в кнопку отправки
  • Как добавить событие click в iframe с помощью JQuery
  • Как щелкнуть или коснуться текста TextView
  • Давайте будем гением компьютера.