私は4つのビューを持っていて、最初のビューが2秒後に表示されるようにします。 ViewをVisibleにして2秒後にもう一度Invisibleなど無限にViewを選択すると、これはランダムです。どのように1つのビューを表示するには、2秒待ってから、次のビューの表示、2秒、インビジブルなど
私が、Viewごとに4つのスレッドを作ろうとしたので、Viewが選択されるたびに、対応するThreadが開始されます。 Viewを1つだけ選択すると、これはうまく機能します。私はhandler.sendEmptyMessage(0)
でView Visibleを設定しました。 とhandler.sendEmptyMessageDelayed(1, 2000)
は2秒後にView Invisibleを設定します。
複数のビューが選択されている場合、これは選択された最後のビューに対してのみ機能します。 これが当てはまると思います。なぜなら、MainThreadはすべてのスレッドが作業を終えた後でなければMessageQueueを実行しないからです。だから私は、MessageQueueが実行されている(そして、UIが変更された)メソッドが必要です。
ありがとうございます!
ハンドラを持っているときにスレッドが必要なのはなぜですか?そして、私たちのコードのいくつかを見せてくれますか? – tidbeck