как проверить, существует ли TextView - PullRequest
1 голос
/ 25 августа 2011

Я создал в цикле 5 TextViews, установил для них некоторый текст и добавил их в LinearLayout. После этого мне нужно изменить текст в них. Я хочу удалить их все и снова создать новую в цикле. Но перед удалением TextView я должен быть уверен, что он существует. Как это сделать?

for(int i=0; i<5; i++){
   TextView tv = new TextView(context);
   LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
   tv.setLayoutParams(params);
   tv.setId(i);
   tv.setText("some data");
   ll.addView(tv);
}

Спасибо за помощь и ваше время!

Ответы [ 3 ]

4 голосов
/ 25 августа 2011

Если вы хотите удалить все из них, просто выполните ll.removeAllViews().

1 голос
/ 25 августа 2011

Лучшее решение - хранить ссылки на ваш TextViews в списке, чтобы вы могли взаимодействовать с ними позже, после их создания. В противном случае вы не сможете видеть объекты.

1 голос
/ 25 августа 2011

Вы должны сохранить ссылку на каждое из созданных вами текстовых представлений, если хотите их удалить. Если я правильно понимаю ваш вопрос, просто создайте массив TextViews с 5 элементами и запустите цикл, чтобы сделать с ними то, что вы хотите. Чтобы «удалить» их, вы можете позвонить:

tv[i].setVisibility(View.GONE);

Чтобы изменить текст и заново добавить его:

tv[i].setText("New Text");
tv[i].setVisibility(View.VISIBLE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...