Я надеюсь, что получу ответ на свой вопрос в этот раз, я уже опубликовал вопрос по этому вопросу, но я думаю, что люди пропустили его, так как он был поставлен неправильно, вот ссылка на мой предыдущий вопрос Как я знаю идентификаторы просмотров, если я надуваю просмотр несколько раз в одном и том же родительском элементе при нажатии кнопки?
Я надуваю child.xml, который содержит TableLayout с 3 LinearLayouts, которые снова содержат TextView в моем основном событии «Активность при нажатии кнопки», пользователь может добавить столько представлений, сколько он хочет.
Но меня смущает вопрос о том, как собирать данные из этих текстовых представлений или устанавливать для них setOnClickListeners, поскольку разные представления разделяют один и тот же идентификатор TextView.
Люди предложили мне использовать findViewById для раздутого представления, добавив его с соответствующим типом и сохранив ссылку в списке, но я могу установить OnClickListener только для первого раздуваемого представления.
Я хотел знать, возможно ли вообще добиться того, что я делаю? В другом посте я прочитал, что findViewById находит первый возможный экземпляр представления, которое он может найти. Это проблема в моем случае.
Пожалуйста, посмотрите мой фрагмент кода
TextView[] tv=new TextView[l.size()];
for(int i=0;i<tv.length;i++){
tv[i]=(TextView)l.get(i).findViewById(R.id.mdsnew_type_sp);
tv[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_DIALOG_ID); }
});
//I have also tried this
public void getData(){
for(int i=0;i<l.size();i++){
tv1=(TextView)l.get(i).findViewById(R.id.mdsnew_type_sp);
}
Но я могу установить прослушиватель OnClick только для первого TextView, а все остальные игнорируются.
Вот еще одна ссылка, которая объясняет, как я раздуваю свою деятельность и похожий сценарий, но получение информации там не объясняется Раздувание представления несколько раз в одном и том же родительском элементе при нажатии кнопки
Любая помощь будет вознаграждена, спасибо заранее.