Создал кастомный listView на основе данных из таблицы MySql. Никак не получается написать обработчик нажатий на элемент списка.
Строка ListView состоит из трех TextView. Нужно при нажатии на соответствующий TextView вызывать DialogFragmet, в котором внести изменения, записать их в базу данных и обновить ListView.
ListView заполняю следующим методом:
Cursor c = db.query("rdtable", null, null, null, null, null, null);
ArrayList<Map<String, Object>> data;
String[] from;
int[] to;
Map<String, Object> m;
data = new ArrayList<Map<String, Object>>();
if (c.moveToFirst()) {
do {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_DISTANCE, c.getDouble(1));
m.put(ATTRIBUTE_NAME_PERCENT, c.getInt(3));
m.put(ATTRIBUTE_NAME_SPEED, c.getDouble(5));
data.add(m);
} while (c.moveToNext());
from = new String[]{ATTRIBUTE_NAME_DISTANCE, ATTRIBUTE_NAME_PERCENT, ATTRIBUTE_NAME_SPEED};
to = new int[]{R.id.distance, R.id.percent, R.id.speed};
SimpleAdapter sAdapter = new SimpleAdapter(this, data, R.layout.mylistitem, from, to);
rdlistview.setAdapter(sAdapter);
Активити :
public class TwoActivity extends Activity implements View.OnClickListener, SeekBar.OnSeekBarChangeListener, AdapterView.OnItemClickListener {
...
rdlistview = (ListView) findViewById(R.id.rdlistView);
rdlistview.setOnItemClickListener(this);
...
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Log.d(LOG_TAG, "checked: " + rdlistview.getCheckedItemPosition());
}
Однако при нажатии на элемент списка ничего не происходит.
Подскажите как реализовать задумку?