2011-05-09 2 views
9

프로그래밍 방식으로 LinearLayout에 TextViews를 추가하고 터치하여 삭제하는 중입니다. 마지막 TextView를 건드리지 않으면 제거되지 않습니다. 키보드를 없애거나 스크롤을 내려도 화면에서 다른 작업을 수행하면 마지막 TextView가 삭제되어 새로 고침 문제라고 생각되지만 그 문제를 해결할 방법은 없습니다.LinearLayout에서 TextViews를 프로그래밍 방식으로 제거하는 데 문제가 있음

는 여기에 내가 사용하고 코드의 일부입니다 :

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(); 
} 
+4

더 많은 버그가 있지만, 시도해 볼 수있는 한 가지는 'tv1.setVisibility (View.GONE)'을 제거하기 전에 TextView를 숨기는 것입니다. 또는 마지막 항목을 제거한 후 다시 그리기를 트리거하기 위해'linearlayout1.invalidate()'를 추가 할 수 있습니다. – harism

+0

나는 이것들을 지금 줄 것이다. 감사. – NotACleverMan

+1

무효 작품 :) 고마워 :)이 의견을 남겨두면 다른 사람들이 찾을 수 있습니다. – NotACleverMan

답변

12

이를 소리 안드로이드의 버그 더 많은,하지만 당신은 시도 할 수 한 가지를 제거하기 전에 TextView을 숨기고 :

tv1.setVisibility(View.GONE) 

또는 다시 그리기를 트리거하는 마지막 항목을 제거한 후

linearlayout1.invalidate() 

을 추가 할 수 있습니다.

관련 문제