2011-07-03 37 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未在您的代码中引用它显示:空指针异常

相关问题