У меня есть пользовательский адаптер для моего ListView, который имеет несколько TextView. Я хочу установить onItemClickListener в свой ListView и извлечь текст из TextViews. Я попытался использовать это:Как получить идентификатор TextView из пользовательского адаптера
String s =(String) ((TextView) mListView.findViewById(R.id.myNr)).getText();
, но по умолчанию он всегда возвращает значения из первого элемента списка! (Я думаю, потому что она не определяет идентификатор товара из списка)
Я также попытался это:
String s = (((TextView) mListView.getItemAtPosition(myItemInt)).
findViewById(R.id.myNr)).toString();
не работает! Какие-либо предложения?
Это реализуется в рамках следующей функции:
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView,
int myItemInt, long mylng) {
// String s statements
}
EDIT:
Вот полный код:
mListView_myentries.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView,
int myItemInt, long mylng) {
String workRequestSelected = (String) ((TextView) mListView_myentries.findViewById(R.id.work_request)).getText();
String activitySelected = (String) ((TextView) mListView_myentries.findViewById(R.id.activity)).getText();
String statusSelected = (String) ((TextView) mListView_myentries.findViewById(R.id.status)).getText();
String workRequestDescSelected = (String) ((TextView) mListView_myentries.findViewById(R.id.desc)).getText();
String actualHoursString = (String) ((TextView) mListView_myentries.findViewById(R.id.actual_hours)).getText();
}
Не положительны об этом, но если вы даете каждое отдельное TextView в ListView «ид», вы можете позвонить, что из вашего кода. – JuiCe
@ Харш вы решили свою проблему? – rajpara
Нет. Как я уже говорил, он всегда возвращает значения из первого элемента в списке. – Harsh