2011-07-03 6 views
0

特定の条件が満たされていれば、いくつかの要素を動的に隠したいと思っています。私はonCreateにこのコードを使用TextViewなぜアプリケーションはsetVisibility(View.GONE)の行でonCreate()を中断しますか?

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

を隠すために、このコードを使用します。

ただし、View.GONEの行にはアプリケーションが壊れています。

どうしてですか? onCreateの要素を隠すことは許されていませんか?これが真であれば、このコードはどこで使うべきですか?

明確にするには、Activityが読み込まれる前にそれらを非表示にしたいと思います。ボタンのクリックイベントで同じコードがアプリを壊すことはありません。

+1

StacktraceとLogCat出力をポストする –

答えて

1

TextView myTextViewがnullの場合は、 を使用する前にそれを参照する必要があります。ルーカス・クヌースで言ったように 通常あなたが

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

経由でこれを行う、あなたのStracktraceをチェックして投稿してください。そこにはNullPointerExceptionが 存在するはずです。

+0

stacktraceは必要ありません。私は条件の一部のためにTextViewを内部で初期化していました。それが壊れていた理由です。ちょうど監督。ありがとう – sandalone

1

あなたは両方が同じである必要があります)

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

はまた、XMLとfindViewById(にIDをチェック...あなたのXMLでビューvisibility="gone"を作る....そして特定の条件を確認することができます.... myTextView ID IFヌルポインタ例外

関連する問題