我要制作秒表,但我遇到了麻烦。我的代码看起来:
1对于开始按钮:
start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// some code
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 1);
start.setText("Lap");
}});
2对于runnable:
public Runnable mUpdateTimeTask = new Runnable(){
public void run() {
EditText licznik = (EditText)findViewById(R.id.editText1);
// some code
licznik.setText(time+"");
mHandler.postDelayed(this, 1);
}
};
我的秒表适用于:开始,停止。
但我无法创建内部重置按钮的onclicklistener操作:licznik.setText("");
因为licznik是在mUpdateTimeTask中启动的,所以我也无法将licznik移到mUpdateTimeTask之外,因为它当时没有工作。
另外,当你注意到点击后我的开始按钮会变成一圈,然后一圈应该从runnable获得实际时间。我不知道怎么做,因为runnable是动态的。
有人解决一下吗?
答案 0 :(得分:0)
不确定,如果这会有所帮助,但您可以通过以下方式创建Runnable
:
class UpdateTimeTask implements Runnable {
private final EditText whatever;
UpdateTimeTask(EditText whatever) {
this.whatever = whatever;
}
@Override
public void run() {
// act upon whatever
}
}