2

relationship.xml の背景をある画像から別の画像に変更しようとしています。それは赤いイメージとして始まり、タイマーの後にコスモスのイメージに変わり、タイマーの後に再び赤に行くはずです. このコードを使用するとアプリがクラッシュするように見えますが、else ステートメントのステートメントをコメント アウトすると、アプリはクラッシュしません。何か案は?

boolean setred;
RelativeLayout layout;
Thread timer;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(starting.rt.R.layout.relationship);
    layout = (RelativeLayout) findViewById(starting.rt.R.id.relativelayout1);
    setred = false;

timer = new Thread() {

    public void run() {
        try {
            sleep(7000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            if (setred) {

                setred = false;
                layout.setBackgroundResource(starting.rt.R.drawable.cosmos);
            } else {
                setred = true;
                layout.setBackgroundResource(starting.rt.R.drawable.red);

            }

        }
    }
};
timer.start();

これはログキャットです

06-17 16:23:08.347: E/AndroidRuntime(657): FATAL EXCEPTION: Thread-10
06-17 16:23:08.347: E/AndroidRuntime(657): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.ViewRoot.checkThread(ViewRoot.java:2932)
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.ViewRoot.invalidateChild(ViewRoot.java:642)
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.ViewRoot.invalidateChildInParent(ViewRoot.java:668)
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.ViewGroup.invalidateChild(ViewGroup.java:2511)
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.View.invalidate(View.java:5279)
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.View.setBackgroundDrawable(View.java:7626)
06-17 16:23:08.347: E/AndroidRuntime(657):  at android.view.View.setBackgroundResource(View.java:7535)
06-17 16:23:08.347: E/AndroidRuntime(657):  at starting.rt.Base$1.run(Base.java:56)
06-17 16:23:08.386: W/ActivityManager(75):   Force finishing activity starting.rt/.RelationshipTipsActivity
4

1 に答える 1