2013-02-26 48 views
0

如果我有一些TextView其創建程序如下:如何清除Android中的TextView時啓動新的活動?

textChallenge = new TextView(context); 
    textChallenge.setTypeface(fontJoan); 
    textChallenge.setTextColor(Color.WHITE); 
    textChallenge.setText("99"); 
    textChallenge.measure((int)Define.getScreenWidth(), (int)Define.getScreenHeight()); 
    textChallenge.layout(0, 0, 200, 200); 
    textChallenge.setTextSize(TypedValue.COMPLEX_UNIT_PX, 20); 
    textChallenge.setDrawingCacheEnabled(true); 
    textChallenge.buildDrawingCache(); 

的問題是,我必須清除此TextView當我開始新的Activity

因爲我發現,如果我在大量創造這個TextView,它可能會導致一些

問題,我的記憶中。

這是我如何使用TextView

protected void onDraw(Canvas canvas){ 
canvas.drawBitmap(textUser.getDrawingCache(), posX, posY, null); 
invalidate() 
} 

我發現,當我創造了很多TextView,通過使用

(Debug.getNativeHeapAllocatedSize()/1048576L)檢查分配,它增加了一點點。

我怎麼能假設完全刪除TextView分配?

+0

你是說你有不同的類,它提供'TextView'到整個應用程序或不同的'Activity'。如果是這種情況,那麼每次使用'TextView'時都需要清除它。 – 2013-02-26 09:29:22

+0

不,我只是在每個Activity中創建這個'TextView'。我使用'Canvas'並繪製這個'TextView'。如果我繪製它,我必須回收'TextView'嗎? – barssala 2013-02-26 09:31:47

+0

this.textview.setText(「」) – Rohit 2013-02-26 09:38:31

回答

0

使用該清除的TextView

this.textview.setText( 「」)

+0

我不能使用'findViewById',因爲我必須通過編程創建。 – barssala 2013-02-26 09:29:02

+0

this.textview.setText(「」) – Rohit 2013-02-26 09:38:03

+0

'NullPointerException'當我嘗試設置新文本時 – barssala 2013-02-27 06:02:43

0

你可以把

textChallenge = null; 

,如果你想消滅它的對象。但是,除非有太多的動態對象,否則它就沒有必要。

0

只要寫下面的代碼: -

textChallenge.setText(""); 
+0

當我嘗試設置新文本時,我得到異常'NullPointerException' – barssala 2013-02-27 06:01:43

+0

在此之後添加我的代碼textChallenge = new TextView(context); – duggu 2013-02-27 06:03:08

相關問題