Вы знаете позицию списка выбранного в данный момент элемента, у вас есть кнопка вне ListView, которая должна вызвать какое-то действие с этим элементом, и вы не просто делаете строки ListView (или некоторые дочерние представления в каждой строке) кликабельными , Правильно?
Вы можете получить информацию из адаптера списка. getItem (int position) возвращает объект, представленный элементом списка в позиции, так что вы можете получить нужную информацию напрямую, если она хранится в объекте. getView (int position) возвращает представление для строки, позволяя вам использовать findViewById (int id) для извлечения вашего TextView.
Если у вас еще нет адаптера, вы можете получить его из ListView с помощью getAdapter ().
// ListView myListView = the ListView in question
// int selectedRow = the currently selected row in the ListView
// Each row in the ListView is backed by an object of type MyCustomDataClass
int dbRowId;
Adapter adapter = myListView.getAdapter();
MyCustomDataClass data = (MyCustomDataClass) adapter.getItem(selectedRow);
dbRowId = data.getDatabaseRowId();
// OR
dbRowId = data.rowId;
// OR whatever method the object has for getting the ID.
// OR
View listViewRow = adapter.getView(selectedRow);
TextView dbRowView = (TextView) listViewRow.findViewById(R.id.rowid);
String dbRowAsString = dbRowView.getText().toString();
dbRowId = Integer.parseInt(dbRowAsString);
Вы также можете подумать, будет ли для пользователя более естественным просто коснуться строки ListView, а не выбирать строку и затем нажимать другую кнопку. Ответ Рено может сработать лучше.