Я создал список с помощью SimpleCursorAdapter, каждая строка содержит несколько представлений (4 текстовых представления), я хочу добавить контекстное меню в одно текстовое представление при нажатии.
Я добавил контекстное меню в одно из текстовых представлений, но при нажатии на текстовое представление оно всегда дает данные последней строки (данные текстового представления последней строки).
Как я могу решить эту проблему, любая помощь очень ценится.
Ниже мой код:
В приведенном ниже коде я устанавливаю прослушиватель OnClick для просмотра текста, когда пользователь нажимает на текст, который я регистрирую для контекстного меню.
public View getView(int position, View convertView, ViewGroup parent) { address = (TextView) row.findViewById(R.id.host_address);
address = (TextView) row.findViewById(R.id.host_address);
address.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
registerForContextMenu(address);
openContextMenu(address);
unregisterForContextMenu(address);
}
}); }
Контекстное меню:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(address.getText());
menu.add(0, OPEN_MAP, 0, "Open in maps");
menu.add(0, COPY_ADDRESS, 1, "Copy");
}
Примечание. **В приведенном выше коде **address.getText() всегда возвращает адрес последней строки.