Возникли проблемы с удалением TextViews из LinearLayout программно - PullRequest
10 голосов
/ 09 мая 2011

Я программно добавляю TextViews к LinearLayout и удаляю их на ощупь.Все работает нормально, за исключением того, что при последнем касании последнего TextView оно не удаляется.Если я сделаю что-нибудь еще на экране, например, избавиться от клавиатуры или прокрутить вниз, последний TextView будет удален, что заставляет меня думать, что это проблема обновления, но я понятия не имею, как ее решить.

Вот код, который я использую:

final TextView tv1 = new TextView(this);
tv1.setText("Test");

tv1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        linearlayout1.removeView(tv1);

    }
});

Я также добавил этот код, чтобы попытаться решить проблему, но он ничего не изменил:

if (linearlayout1.getChildCount() == 1) {
    linearlayout1.removeAllViewsInLayout();
}

1 Ответ

13 голосов
/ 09 мая 2011

Это звучит скорее как ошибка в Android, но вы могли бы попытаться скрыть TextView перед удалением:

tv1.setVisibility(View.GONE)

Или вы можете добавить:

linearlayout1.invalidate()

после удаления последнего элемента, вызывающего перерисовку.

...