2011-07-03 38 views
0

我想動態地隱藏一些元素,如果滿足某些條件。我用這個代碼隱藏TextView爲什麼應用程序在線setVisibility(View.GONE)中的onCreate()中斷?

if (something) { 
      //do something 
     } else { 
      myTextView.setVisibility(View.GONE); 
} 

onCreate使用此代碼。

但是,該應用程序在View.GONE所在的行中斷了。

爲什麼發生?不允許隱藏onCreate中的元素嗎?如果這是真的,我應該在哪裏使用此代碼?

爲了澄清,我想在加載Activity之前將它們隱藏起來。按鈕的點擊事件中的相同代碼不會中斷應用程序。

+1

發佈堆棧跟蹤和LogCat輸出 –

回答

1

您的TextView myTextView可能爲空, 您必須在使用它之前參考它。 通常你通過

myTextView = (TextView) findViewById(R.id.mytextviewid) 

做到這一點正如所說的盧卡斯克努特,檢查併發布您Stracktrace。你應該看到 那裏有一個NullPointerException。

+0

不需要堆棧跟蹤。我正在初始化TextView裏面的部分條件。這就是它突破的原因。只是一個疏忽。謝謝 – sandalone

1

你可以讓你的看法visibility="gone"在XML ....並檢查特定的條件..

if(cond) 
{ 
myTextViewmyTextView.setVisibility(View.Visible); 
} 

同時檢查ID在XML和findViewById()都應該是相同的....如果myTextView ID未在您的代碼中引用它顯示:空指針異常

相關問題