2015-04-06 3 views
0

В настоящее время я пытаюсь создать приложение, в котором хранятся некоторые продукты с дополнительной информацией в базе данных и отображаются в пользовательском listview. Из этого списка я хотел бы иметь возможность редактировать информацию о базе данных, нажав на один из продуктов и отображая новое действие. Мне уже удалось реализовать пользовательский макет listview, создав отдельный макет списка и добавив его в список, но я просто не могу понять, как сделать нажатие. Активность также должна передавать информацию из этого продукта в другую деятельность, поэтому информация, которая привязана к затронутой строке, должна быть извлечена, чтобы как-то быть поставлена ​​в цель. Heres код:Добавление OnClickListener и извлечение информации из ListView

активность, которая отображает ListView:

Есть два макета файлы, используемые в файле products.xml стандартный макет для этого класса, и item_layout.xml используется для listview:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" > 

<TextView 
    android:id="@+id/tvProductNameList" 
    android:layout_width="175dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:inputType="textCapSentences" 
    android:text="Name" 
    android:textSize="20sp" /> 

<TextView 
    android:id="@+id/tvDateList" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:text="Date" 
    android:textSize="20sp" /> 

<TextView 
    android:id="@+id/tvAmountList" 
    android:layout_width="45dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="10dp" 
    android:layout_toLeftOf="@+id/tvDateList" 
    android:text="Mnt" 
    android:textSize="20sp" /> 
" 



</RelativeLayout> 

Посвящение человеку, который может мне помочь!

ответ

0

Как вы объединяете несколько основных вопросов в одном, здесь является руководством к тому, что вы хотите:

  • Установите OnItemClickListener на вашем ListView. Это событие срабатывает, когда пользователь нажимает на строку.
  • Запустите новую операцию с намерением (как и вы). Вы можете добавить Bundle к Intent, который содержит ключевую информацию, такую ​​как ID. Пакет создан для хранения простых типов данных, поэтому идентификатор является предпочтительным способом.
  • С идентификатором вы можете загружать свои данные в новую активность из своей базы данных и изменять ее.

Если есть реальная причина, чтобы продукт был доступен через несколько видов деятельности, а не только идентификатор, вы можете определить статический экземпляр объекта в своем приложении. Даже если это кажется более простым способом, вы должны сделать это осторожно.

0

Список может сообщать об элементах кликов через onItemClickedListener. Перечислитель устанавливается с помощью аналогичной функции с именем set. В обратном вызове позиция указывает, на какую строку щелкнуть.

Смежные вопросы