次のコードがあります。
final ImageButton bgreen = (ImageButton) findViewById(R.id.imageButton1c);
bgreen.setImageResource(R.drawable.xgp);
gHandler.postDelayed(greenRunnable, delay); // this reverses the above two lines in a second
ただし、画像の変更は、他のすべてのコマンドが完了する前と後に追加され、キューが空になり、onclick リスナーを待機するまで実際には発生しないことがわかりました。どうしてこれなの?より良い方法はありますか?取り消しを遅らせるためにハンドラー/実行可能なコンボ (完全に異なるスレッドだと思いますか?) を使用したにもかかわらず、これとこれの取り消しが順次行われることになります。
次のような別の方法を使用できますか。
ButtonName.setImageResource(R.drawable.ImageName);
パフォーマンスが向上する可能性がありますか?
デモンストレーションとして(つまり、ユーザーの操作なしで)クリックする必要があり、問題はこの部分です。つまり、単純に XML でこれを行うことはできません。
<item android:state_pressed="true"
android:drawable="@drawable/login_selected" /> <!-- pressed -->