おい。私はAndroidを始めたばかりです。2つのLinearLayoutsでViewFlipperレイアウトを使用しています。最初のレイアウトには、2番目のレイアウトに切り替えるボタンがあります。3000ms後に最初のレイアウトに切り替わるタイマーを追加したいと思います。スレッドで試しましたが、機能しませんでした(他のスレッドのUI要素と通信できません)。
私のコード:
パブリッククラステストはアクティビティを拡張します{
ViewFlipper f;
LinearLayout l1;
LinearLayout l2;
Button b1;
Thread s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
f = (ViewFlipper) findViewById(R.id.f);
l1 = (LinearLayout) findViewById(R.id.l1);
l2 = (LinearLayout) findViewById(R.id.l2);
b1 = (Button) findViewById(R.id.b1);
updateSwitch = new Thread() {
@Override
public void run() {
try {sleep(3000);
} catch (InterruptedException e) {
} finally {f.showPrevious();}
}
};
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
f.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.push_left_in));
lFlipper.showNext();
updateSwitch.start();
}
});
}
}
私の推測では、新しいスレッドをメインスレッドに接続する何らかのハンドラーが必要だと思います。コードを更新してください。Thx10x。