「Android開発」一定時間以内でボタン(timebutton)のステータスを変更する方法

利用方法
HandlerとhandleMessage

変数説明
count:時間
originText:ステータス変更前buttonのtext

参考コード
private void timeButton(final View v, final int time, final String origin) {
// TODO Auto-generated method stub
((Button) v).setEnabled(false);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
((Button) v).setText(msg.arg1 + “秒後再度送信");
if (msg.arg1 == 0) {
((Button) v).setText(origin);
((Button) v).setEnabled(true);
}
}
};
new Thread() {
int count = time;
public void run() {
while (count > 0) {
Message msg = new Message();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
count–;
msg.arg1 = count;
handler.sendMessage(msg);
}
}
}.start();
}

Android

Posted by arkgame