2011-05-09 86 views
9

我以編程方式將TextViews添加到LinearLayout,並在觸摸時刪除它們。這一切都工作正常,除非當最後的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

這聽起來更像是一個bug,但你可以嘗試的一件事是在刪除'tv1.setVisibility(View.GONE)'之前隱藏你的TextView。或者,您也可以在刪除最後一個項目後添加'linearlayout1.invalidate()'以觸發重繪。 – harism 2011-05-09 09:26:33

+0

我現在要放棄這些。謝謝。 – NotACleverMan 2011-05-09 09:50:16

+1

invalidate作品:)謝謝:)如果你留下這個評論作爲答案,我可以勾選它爲其他人找到 – NotACleverMan 2011-05-09 09:51:33

回答

12

這聽起來更在Android中的一個錯誤,但有一兩件事你可以嘗試在去除之前,隱藏你的TextView

tv1.setVisibility(View.GONE) 

或者您可以添加:

linearlayout1.invalidate() 

刪除最後一項後觸發重繪。