2011-08-04 11 views
0

私はTextViewを使ってレイアウトを作成しており、テキストまたはビュー自体を実行時に定義された時間表示させたいと考えています。 どうすればいいですか?Android:ランタイムに定義された時間TextViewを表示する方法

私はアニメーションを試してみました:私は、main.xmlにアニメーションタグ内のTextViewを配置したが、私は使用している場合:

animation = AnimationUtils.loadAnimation(this, R.id.msg_anim);

以降:

animation.startNow();

私は例外があります。

だから、テキストやテキストビューを1秒間表示するにはどうすればいいですか?

ありがとうございます。

答えて

0

アニメーションやリソースを呼び出す前に、アクティビティがインスタンス化されていることを確認する必要があります。

AFTER super.onCreate()を呼び出していることを確認してください。

これが役に立った。

0

onCreate()でアニメーションを開始しようとしているため、例外が発生している可能性があります。

アニメーションを開始するには、ドキュメントに従ってonResume()を使用することをお勧めします。それが問題でない場合は、例外に関する詳細(スタックトレースなど)を投稿してください。

2

ハンドラを使用して、ランタイム中にタイムアウトしたUI要素を処理できます。

TextView myTV; 
Handler uiHandler = new Handler(); 
Runnable makeTextGone = new Runable(){ 
    @Override 
    public void run(){ 
     myTv.setVisibility(View.GONE); 
    } 
}; 

@Override 
public void onCreate(Bundle icicle){ 
    .... code .... 
    myTv = (TextView) findViewById(R.id.myTextView); 
    uiHandler.postDelayed(makeTextGone, 1000); 
    ... code ... 
} 

uiHandler.postDelayed(makeTextGone, 1000);への呼び出しは、1秒後に一度だけ実行可能を呼び出します。テキストを表示させた直後に置いてください.1秒後に消えるはずです。

+0

あなたのコードが助けてくれてありがとうございます。 – Siddhesh

関連する問題